LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-10.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 39.7 % 10549 4185
Test Date: 2026-06-20 15:32:29 Functions: 66.2 % 68 45
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   1132273042 : tree_nop_convert (tree t, tree *res_ops)
      11              : {
      12   1132273042 :   const tree type = TREE_TYPE (t);
      13   1132273042 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14   1132273042 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15   1088112925 :   switch (TREE_CODE (t))
      16              :     {
      17    234447035 :     CASE_CONVERT:
      18    234447035 :       {
      19    234447035 :         tree _p0 = TREE_OPERAND (t, 0);
      20    234447035 :         {
      21    234447035 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22    234447035 :           if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      23              : )
      24              :             {
      25    191820374 :               {
      26    191820374 :                 res_ops[0] = captures[0];
      27    191820374 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 0, __FILE__, __LINE__, false);
      28    191820374 :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34      4515510 :     case VIEW_CONVERT_EXPR:
      35      4515510 :       {
      36      4515510 :         tree _p0 = TREE_OPERAND (t, 0);
      37      4515510 :         {
      38      4515510 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      39      3208994 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[0]))
      40      3208976 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
      41              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[0])))
      42      6733053 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[0])))
      43              : )
      44              :             {
      45      2217537 :               {
      46      2217537 :                 res_ops[0] = captures[0];
      47      2217537 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1, __FILE__, __LINE__, false);
      48      2217537 :                 return true;
      49              :               }
      50              :             }
      51              :         }
      52      2297973 :         break;
      53              :       }
      54              :     default:;
      55              :     }
      56              :   return false;
      57              : }
      58              : 
      59              : bool
      60     88752015 : tree_with_known_nonzero_bits (tree t)
      61              : {
      62     88752015 :   const tree type = TREE_TYPE (t);
      63     88752015 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      64     88752015 :   if (TREE_SIDE_EFFECTS (t)) return false;
      65     83754272 :   switch (TREE_CODE (t))
      66              :     {
      67       272569 :     case BIT_IOR_EXPR:
      68       272569 :       {
      69       272569 :         tree _p0 = TREE_OPERAND (t, 0);
      70       272569 :         tree _p1 = TREE_OPERAND (t, 1);
      71       272569 :         if (tree_with_known_nonzero_bits_1 (_p0))
      72              :           {
      73       265054 :             {
      74       265054 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      75       265054 :               {
      76       265054 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      77       265054 :                 return true;
      78              :               }
      79              :             }
      80              :           }
      81         7515 :         if (tree_with_known_nonzero_bits_1 (_p1))
      82              :           {
      83          186 :             {
      84          186 :               tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      85          186 :               {
      86          186 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      87          186 :                 return true;
      88              :               }
      89              :             }
      90              :           }
      91              :         break;
      92              :       }
      93     83489032 :     default:;
      94              :     }
      95     83489032 : if (tree_with_known_nonzero_bits_1 (t))
      96              :   {
      97     39280853 :     {
      98     39280853 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      99     39280853 :       {
     100     39280853 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 40, __FILE__, __LINE__, false);
     101     39280853 :         return true;
     102              :       }
     103              :     }
     104              :   }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109           15 : generic_simplify_4 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     111              :  const enum tree_code ARG_UNUSED (op))
     112              : {
     113           15 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114           15 :   if (INTEGRAL_TYPE_P (type)
     115              : )
     116              :     {
     117           15 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail75;
     118           15 :       {
     119           15 :         tree res_op0;
     120           15 :         {
     121           15 :           tree _o1[2], _r1;
     122           15 :           _o1[0] = captures[1];
     123           15 :           _o1[1] = captures[4];
     124           15 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     125           15 :           res_op0 = _r1;
     126              :         }
     127           15 :         tree res_op1;
     128           15 :         res_op1 = captures[2];
     129           15 :         tree _r;
     130           15 :         _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
     131           15 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 52, __FILE__, __LINE__, true);
     132           15 :         return _r;
     133              :       }
     134            0 : next_after_fail75:;
     135              :     }
     136              :   return NULL_TREE;
     137              : }
     138              : 
     139              : tree
     140           90 : generic_simplify_12 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     141              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     142              : {
     143           90 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     144           90 :   {
     145           90 :  bool wascmp;
     146           90 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     147           90 :  && (!wascmp || element_precision (type) == 1)
     148              : )
     149              :         {
     150            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail87;
     151            0 :           {
     152            0 :             tree _r;
     153            0 :             _r = captures[0];
     154            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     155            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     156            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
     157            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     158            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 60, __FILE__, __LINE__, true);
     159            0 :             return _r;
     160              :           }
     161            0 : next_after_fail87:;
     162              :         }
     163              :   }
     164           90 :   return NULL_TREE;
     165              : }
     166              : 
     167              : tree
     168            0 : generic_simplify_21 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     169              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     170              : {
     171            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     172            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail96;
     173            0 :   {
     174            0 :     tree res_op0;
     175            0 :     res_op0 = captures[0];
     176            0 :     tree res_op1;
     177            0 :     res_op1 = captures[1];
     178            0 :     tree _r;
     179            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     180            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 69, __FILE__, __LINE__, true);
     181              :     return _r;
     182              :   }
     183            0 : next_after_fail96:;
     184            0 :   return NULL_TREE;
     185              : }
     186              : 
     187              : tree
     188          113 : generic_simplify_29 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     189              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     190              :  const enum tree_code ARG_UNUSED (opo),
     191              :  const enum tree_code ARG_UNUSED (opi))
     192              : {
     193          113 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     194          113 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail104;
     195          113 :   {
     196          113 :     tree res_op0;
     197          113 :     {
     198          113 :       tree _o1[1], _r1;
     199          113 :       _o1[0] = captures[1];
     200          113 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     201          113 :       res_op0 = _r1;
     202              :     }
     203          113 :     tree res_op1;
     204          113 :     res_op1 = captures[2];
     205          113 :     tree _r;
     206          113 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     207          113 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 77, __FILE__, __LINE__, true);
     208              :     return _r;
     209              :   }
     210            0 : next_after_fail104:;
     211            0 :   return NULL_TREE;
     212              : }
     213              : 
     214              : tree
     215       242425 : generic_simplify_34 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     216              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     217              :  const enum tree_code ARG_UNUSED (bitop),
     218              :  const enum tree_code ARG_UNUSED (rbitop),
     219              :  const enum tree_code ARG_UNUSED (resbitop))
     220              : {
     221       242425 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     222       242425 :   {
     223       242425 :  bool wascmp;
     224       242425 :       if (bitwise_inverted_equal_p (captures[2], captures[0], wascmp)
     225       242425 :  && (!wascmp || element_precision (type) == 1)
     226              : )
     227              :         {
     228           13 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail109;
     229           13 :           {
     230           13 :             tree res_op0;
     231           13 :             res_op0 = captures[2];
     232           13 :             tree res_op1;
     233           13 :             res_op1 = captures[1];
     234           13 :             tree _r;
     235           13 :             _r = fold_build2_loc (loc, resbitop, type, res_op0, res_op1);
     236           13 :             if (TREE_SIDE_EFFECTS (captures[0]))
     237            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     238           13 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 81, __FILE__, __LINE__, true);
     239           13 :             return _r;
     240              :           }
     241            0 : next_after_fail109:;
     242              :         }
     243              :   }
     244       242412 :   return NULL_TREE;
     245              : }
     246              : 
     247              : tree
     248           56 : generic_simplify_43 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     249              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     250              :  const enum tree_code ARG_UNUSED (inner_op),
     251              :  const enum tree_code ARG_UNUSED (outer_op))
     252              : {
     253           56 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     254           56 :   {
     255           56 :  bool fail = false;
     256           56 :  wide_int zero_mask_not;
     257           56 :  wide_int C0;
     258           56 :  wide_int cst_emit;
     259           56 :  if (TREE_CODE (captures[1]) == SSA_NAME)
     260            0 :  zero_mask_not = get_nonzero_bits (captures[1]);
     261              :  else
     262              :  fail = true;
     263           56 :  if (inner_op == BIT_XOR_EXPR)
     264              :  {
     265           33 :  C0 = wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3]));
     266           33 :  cst_emit = C0 | wi::to_wide (captures[3]);
     267              :  }
     268              :  else
     269              :  {
     270           23 :  C0 = wi::to_wide (captures[2]);
     271           23 :  cst_emit = C0 ^ wi::to_wide (captures[3]);
     272              :  }
     273           56 :       if (!fail && (C0 & zero_mask_not) == 0
     274              : )
     275              :         {
     276            0 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail120;
     277            0 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail120;
     278            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail120;
     279            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail120;
     280            0 :           {
     281            0 :             tree res_op0;
     282            0 :             res_op0 = captures[1];
     283            0 :             tree res_op1;
     284            0 :             res_op1 =  wide_int_to_tree (type, cst_emit);
     285            0 :             tree _r;
     286            0 :             _r = fold_build2_loc (loc, outer_op, type, res_op0, res_op1);
     287            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 91, __FILE__, __LINE__, true);
     288            0 :             return _r;
     289              :           }
     290           56 : next_after_fail120:;
     291              :         }
     292              :       else
     293              :         {
     294           56 :           if (!fail && (wi::to_wide (captures[3]) & zero_mask_not) == 0
     295              : )
     296              :             {
     297            0 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail121;
     298            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail121;
     299            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail121;
     300            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail121;
     301            0 :               {
     302            0 :                 tree res_op0;
     303            0 :                 res_op0 = captures[1];
     304            0 :                 tree res_op1;
     305            0 :                 res_op1 =  wide_int_to_tree (type, cst_emit);
     306            0 :                 tree _r;
     307            0 :                 _r = fold_build2_loc (loc, inner_op, type, res_op0, res_op1);
     308            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 92, __FILE__, __LINE__, true);
     309            0 :                 return _r;
     310              :               }
     311           56 : next_after_fail121:;
     312              :             }
     313              :         }
     314           56 :   }
     315           56 :   return NULL_TREE;
     316              : }
     317              : 
     318              : tree
     319            7 : generic_simplify_57 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     320              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     321              :  const enum tree_code ARG_UNUSED (op))
     322              : {
     323            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     324            7 :   if (INTEGRAL_TYPE_P (type)
     325            7 :  && TYPE_OVERFLOW_WRAPS (type)
     326           14 :  && !TYPE_SATURATING (type)
     327              : )
     328              :     {
     329            7 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail138;
     330            7 :       {
     331            7 :         tree res_op0;
     332            7 :         {
     333            7 :           tree _o1[2], _r1;
     334            7 :           _o1[0] = captures[1];
     335            7 :           _o1[1] = captures[4];
     336            7 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     337            7 :           res_op0 = _r1;
     338              :         }
     339            7 :         tree res_op1;
     340            7 :         res_op1 = captures[2];
     341            7 :         tree _r;
     342            7 :         _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
     343            7 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 106, __FILE__, __LINE__, true);
     344            7 :         return _r;
     345              :       }
     346            0 : next_after_fail138:;
     347              :     }
     348              :   return NULL_TREE;
     349              : }
     350              : 
     351              : tree
     352          895 : generic_simplify_65 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     353              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     354              : {
     355          895 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     356          895 :   if (!TYPE_SATURATING (type)
     357              : )
     358              :     {
     359          895 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     360         1790 :  && !FIXED_POINT_TYPE_P (type)
     361              : )
     362              :         {
     363          895 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail154;
     364          895 :           {
     365          895 :             tree res_op0;
     366          895 :             res_op0 = captures[2];
     367          895 :             tree res_op1;
     368          895 :             res_op1 = captures[1];
     369          895 :             tree _r;
     370          895 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     371          895 :             if (TREE_SIDE_EFFECTS (captures[0]))
     372            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     373          895 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 122, __FILE__, __LINE__, true);
     374          895 :             return _r;
     375              :           }
     376            0 : next_after_fail154:;
     377              :         }
     378              :     }
     379              :   return NULL_TREE;
     380              : }
     381              : 
     382              : tree
     383         9588 : generic_simplify_72 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     384              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     385              :  const enum tree_code ARG_UNUSED (plusminus))
     386              : {
     387         9588 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     388         9588 :   if (!TYPE_SATURATING (type)
     389         9588 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     390              : )
     391              :     {
     392         9422 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     393              : )
     394              :         {
     395            4 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     396         9418 :  || TYPE_OVERFLOW_WRAPS (type)
     397         3260 :  || (INTEGRAL_TYPE_P (type)
     398         3260 :  && ((tree_expr_nonzero_p (captures[0])
     399          136 :  && expr_not_equal_to (captures[0],
     400         9558 :  wi::minus_one (TYPE_PRECISION (type)),
     401              :  gimple_match_ctx (captures[1])))
     402              :  || (plusminus == PLUS_EXPR
     403         3124 :  ? expr_not_equal_to (captures[2],
     404         9441 :  wi::max_value (TYPE_PRECISION (type), SIGNED),
     405              :  gimple_match_ctx (captures[1]))
     406         3105 :  : (expr_not_equal_to (captures[2],
     407        12527 :  wi::min_value (TYPE_PRECISION (type), SIGNED),
     408              :  gimple_match_ctx (captures[1]))
     409         3087 :  && expr_not_equal_to (captures[2],
     410         6174 :  wi::min_value (TYPE_PRECISION (type), SIGNED)
     411        18683 :  + 1, gimple_match_ctx (captures[1])))))))
     412        12546 :  && single_use (captures[1])
     413              : )
     414              :             {
     415         9404 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail162;
     416         9404 :               {
     417         9404 :                 tree res_op0;
     418         9404 :                 {
     419         9404 :                   tree _o1[2], _r1;
     420         9404 :                   _o1[0] =  build_one_cst (type);
     421         9404 :                   _o1[1] = captures[2];
     422         9404 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     423         9404 :                   res_op0 = _r1;
     424              :                 }
     425         9404 :                 tree res_op1;
     426         9404 :                 res_op1 = captures[0];
     427         9404 :                 tree _r;
     428         9404 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     429         9404 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 130, __FILE__, __LINE__, true);
     430         9404 :                 return _r;
     431              :               }
     432            0 : next_after_fail162:;
     433              :             }
     434              :         }
     435              :     }
     436              :   return NULL_TREE;
     437              : }
     438              : 
     439              : tree
     440            0 : generic_simplify_84 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     441              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     442              : {
     443            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     444            0 :   if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
     445              : )
     446              :     {
     447            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail175;
     448            0 :       {
     449            0 :         if (! tree_invariant_p (captures[2])) goto next_after_fail175;
     450            0 :         tree res_op0;
     451            0 :         {
     452            0 :           tree _o1[2], _r1;
     453            0 :           {
     454            0 :             tree _o2[3], _r2;
     455            0 :             _o2[0] = unshare_expr (captures[2]);
     456            0 :             _o2[1] = captures[2];
     457            0 :             _o2[2] = captures[4];
     458            0 :             _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
     459            0 :             _o1[0] = _r2;
     460              :           }
     461            0 :           _o1[1] = captures[3];
     462            0 :           _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     463            0 :           res_op0 = _r1;
     464              :         }
     465            0 :         tree res_op1;
     466            0 :         res_op1 = captures[5];
     467            0 :         tree _r;
     468            0 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     469            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 143, __FILE__, __LINE__, true);
     470            0 :         return _r;
     471              :       }
     472              : next_after_fail175:;
     473              :     }
     474              :   return NULL_TREE;
     475              : }
     476              : 
     477              : tree
     478            1 : generic_simplify_91 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     479              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     480              : {
     481            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     482            1 :   if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
     483            1 :  && !TYPE_SATURATING (type) && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     484            1 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[0]))
     485            2 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     486              : )
     487              :     {
     488            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail182;
     489            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail182;
     490            1 :       {
     491            1 :         tree res_op0;
     492            1 :         {
     493            1 :           tree _o1[1], _r1;
     494            1 :           {
     495            1 :             tree _o2[2], _r2;
     496            1 :             _o2[0] = captures[1];
     497            1 :             _o2[1] = captures[2];
     498            1 :             _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     499            1 :             _o1[0] = _r2;
     500              :           }
     501            1 :           if (TREE_TYPE (_o1[0]) != type)
     502              :             {
     503            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     504              :             }
     505              :           else
     506              :             _r1 = _o1[0];
     507            1 :           res_op0 = _r1;
     508              :         }
     509            1 :         tree _r;
     510            1 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     511            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 150, __FILE__, __LINE__, true);
     512            1 :         return _r;
     513              :       }
     514              : next_after_fail182:;
     515              :     }
     516              :   return NULL_TREE;
     517              : }
     518              : 
     519              : tree
     520        11818 : generic_simplify_103 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     521              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     522              : {
     523        11818 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     524        11818 :   if (!TYPE_SATURATING (type)
     525              : )
     526              :     {
     527        11818 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     528        23636 :  && !FIXED_POINT_TYPE_P (type)
     529              : )
     530              :         {
     531        11818 :           if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     532        11818 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     533         3186 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
     534              : )
     535              :             {
     536        11642 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail198;
     537        11642 :               {
     538        11642 :                 tree res_op0;
     539        11642 :                 res_op0 = captures[1];
     540        11642 :                 tree _r;
     541        11642 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     542        11642 :                 if (TREE_SIDE_EFFECTS (captures[2]))
     543           15 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     544        11642 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 165, __FILE__, __LINE__, true);
     545        11642 :                 return _r;
     546              :               }
     547            0 : next_after_fail198:;
     548              :             }
     549              :         }
     550              :     }
     551              :   return NULL_TREE;
     552              : }
     553              : 
     554              : tree
     555            2 : generic_simplify_108 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     556              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     557              :  const combined_fn ARG_UNUSED (logs))
     558              : {
     559            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     560            2 :   if (flag_unsafe_math_optimizations
     561              : )
     562              :     {
     563            2 :       if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
     564            2 :  && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
     565            2 :  && ! flag_trapping_math
     566            4 :  && ! flag_errno_math
     567              : )
     568              :         {
     569            2 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail205;
     570            2 :           {
     571            2 :             tree res_op0;
     572            2 :             {
     573            2 :               tree _o1[2], _r1;
     574            2 :               _o1[0] = captures[1];
     575            2 :               _o1[1] = captures[3];
     576            2 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     577            2 :               res_op0 = _r1;
     578              :             }
     579            2 :             tree _r;
     580            2 :             _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
     581            2 :             if (!_r)
     582            0 :               goto next_after_fail205;
     583            2 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 172, __FILE__, __LINE__, true);
     584            2 :             return _r;
     585              :           }
     586              : next_after_fail205:;
     587              :         }
     588              :     }
     589              :   return NULL_TREE;
     590              : }
     591              : 
     592              : tree
     593            0 : generic_simplify_115 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     594              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     595              : {
     596            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     597            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail212;
     598            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail212;
     599            0 :   {
     600            0 :     tree _r;
     601            0 :     _r = captures[2];
     602            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 179, __FILE__, __LINE__, true);
     603              :     return _r;
     604              :   }
     605              : next_after_fail212:;
     606              :   return NULL_TREE;
     607              : }
     608              : 
     609              : tree
     610           16 : generic_simplify_119 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     611              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     612              : {
     613           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     614           32 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     615           32 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     616              : )
     617              :     {
     618            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail216;
     619            0 :       {
     620            0 :         tree res_op0;
     621            0 :         res_op0 = captures[0];
     622            0 :         tree res_op1;
     623            0 :         {
     624            0 :           tree _o1[2], _r1;
     625            0 :           _o1[0] = captures[1];
     626            0 :           _o1[1] =  build_one_cst (type);
     627            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     628            0 :           res_op1 = _r1;
     629              :         }
     630            0 :         tree _r;
     631            0 :         _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     632            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 182, __FILE__, __LINE__, true);
     633            0 :         return _r;
     634              :       }
     635            0 : next_after_fail216:;
     636              :     }
     637              :   return NULL_TREE;
     638              : }
     639              : 
     640              : tree
     641            1 : generic_simplify_132 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     643              : {
     644            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     645            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail229;
     646            1 :   {
     647            1 :     tree res_op0;
     648            1 :     {
     649            1 :       tree _o1[2], _r1;
     650            1 :       _o1[0] = captures[1];
     651            1 :       _o1[1] = captures[2];
     652            1 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     653            1 :       res_op0 = _r1;
     654              :     }
     655            1 :     tree _r;
     656            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     657            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 191, __FILE__, __LINE__, true);
     658              :     return _r;
     659              :   }
     660            0 : next_after_fail229:;
     661            0 :   return NULL_TREE;
     662              : }
     663              : 
     664              : tree
     665           21 : generic_simplify_142 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     666              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     667              :  const enum tree_code ARG_UNUSED (bitop),
     668              :  const enum tree_code ARG_UNUSED (rbitop))
     669              : {
     670           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     671           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     672           21 :   {
     673           21 :     tree _r;
     674           21 :     _r = captures[0];
     675           21 :     if (TREE_SIDE_EFFECTS (captures[1]))
     676            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     677           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     678              :     return _r;
     679              :   }
     680            0 : next_after_fail243:;
     681            0 :   return NULL_TREE;
     682              : }
     683              : 
     684              : tree
     685            0 : generic_simplify_146 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     686              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     687              :  const enum tree_code ARG_UNUSED (bitop),
     688              :  const enum tree_code ARG_UNUSED (rbitop))
     689              : {
     690            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     691            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail247;
     692            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail247;
     693            0 :   {
     694            0 :     tree res_op0;
     695            0 :     res_op0 = captures[0];
     696            0 :     tree res_op1;
     697            0 :     res_op1 = captures[2];
     698            0 :     tree _r;
     699            0 :     _r = fold_build2_loc (loc, bitop, type, res_op0, res_op1);
     700            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 199, __FILE__, __LINE__, true);
     701              :     return _r;
     702              :   }
     703              : next_after_fail247:;
     704              :   return NULL_TREE;
     705              : }
     706              : 
     707              : tree
     708            0 : generic_simplify_152 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     709              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     710              :  const enum tree_code ARG_UNUSED (cmp),
     711              :  const enum tree_code ARG_UNUSED (icmp))
     712              : {
     713            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     714            0 :   if (INTEGRAL_TYPE_P (type)
     715            0 :  && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
     716            0 :  && canonicalize_math_after_vectorization_p ()
     717              : )
     718              :     {
     719              :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail254;
     720              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail254;
     721              :       {
     722              :         tree res_op0;
     723              :         {
     724              :           tree _o1[3], _r1;
     725              :           _o1[0] = captures[0];
     726              :           _o1[1] = captures[3];
     727              :           _o1[2] = captures[5];
     728              :           _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
     729              :           res_op0 = _r1;
     730              :         }
     731              :         tree res_op1;
     732              :         res_op1 =  build_one_cst (type);
     733              :         tree _r;
     734              :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     735              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 203, __FILE__, __LINE__, true);
     736              :         return _r;
     737              :       }
     738            0 : next_after_fail254:;
     739              :     }
     740            0 :   return NULL_TREE;
     741              : }
     742              : 
     743              : tree
     744            0 : generic_simplify_165 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     745              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     746              : {
     747            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     748            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail288;
     749            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail288;
     750            0 :   {
     751            0 :     tree _r;
     752            0 :     _r = captures[2];
     753            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     754            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     755            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 210, __FILE__, __LINE__, true);
     756              :     return _r;
     757              :   }
     758              : next_after_fail288:;
     759              :   return NULL_TREE;
     760              : }
     761              : 
     762              : tree
     763          396 : generic_simplify_168 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     764              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     765              :  const enum tree_code ARG_UNUSED (code2),
     766              :  const enum tree_code ARG_UNUSED (code1))
     767              : {
     768          396 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     769          396 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     770          371 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     771          396 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     772            1 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     773            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     774           25 :  && bitwise_equal_p (captures[2], captures[5]))
     775              : )
     776              :     {
     777          371 :       {
     778          371 :  bool one_before = false;
     779          371 :  bool one_after = false;
     780          371 :  int cmp = 0;
     781          371 :  bool allbits = true;
     782          371 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     783          371 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     784              :  {
     785          371 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     786          371 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     787          371 :  auto t2 = wi::to_wide (captures[5]);
     788          371 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     789          371 :  if (cmp < 0
     790          371 :  && t1 == t2 - 1)
     791              :  one_before = true;
     792          371 :  if (cmp > 0
     793          371 :  && t1 == t2 + 1)
     794              :  one_after = true;
     795              :  }
     796          371 :  bool val;
     797          371 :  switch (code2)
     798              :  {
     799          362 :  case EQ_EXPR: val = (cmp == 0); break;
     800            0 :  case NE_EXPR: val = (cmp != 0); break;
     801            0 :  case LT_EXPR: val = (cmp < 0); break;
     802            9 :  case GT_EXPR: val = (cmp > 0); break;
     803            0 :  case LE_EXPR: val = (cmp <= 0); break;
     804            0 :  case GE_EXPR: val = (cmp >= 0); break;
     805            0 :  default: gcc_unreachable ();
     806              :  }
     807          371 :           if (code1 == EQ_EXPR && val
     808              : )
     809              :             {
     810            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail298;
     811            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail298;
     812            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail298;
     813            0 :               {
     814            0 :                 tree _r;
     815            0 :                 _r = captures[3];
     816            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     817            0 :                 return _r;
     818              :               }
     819              : next_after_fail298:;
     820              :             }
     821              :           else
     822              :             {
     823          371 :               if (code1 == NE_EXPR && val && allbits
     824              : )
     825              :                 {
     826            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail299;
     827            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail299;
     828            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
     829            0 :                   {
     830            0 :                     tree _r;
     831            0 :                     _r =  constant_boolean_node (true, type);
     832            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     833            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     834            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     835            0 :                     return _r;
     836              :                   }
     837              : next_after_fail299:;
     838              :                 }
     839              :               else
     840              :                 {
     841          371 :                   if (code1 == NE_EXPR && !val && allbits
     842              : )
     843              :                     {
     844            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail300;
     845            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail300;
     846            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail300;
     847            0 :                       {
     848            0 :                         tree _r;
     849            0 :                         _r = captures[0];
     850            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     851            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     852            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     853            0 :                         return _r;
     854              :                       }
     855              : next_after_fail300:;
     856              :                     }
     857              :                   else
     858              :                     {
     859          371 :                       if (code1 == EQ_EXPR
     860          371 :  && code2 == GT_EXPR
     861            9 :  && cmp == 0
     862            9 :  && allbits
     863          371 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     864            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     865            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     866              : )
     867              :                         {
     868            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail301;
     869            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail301;
     870            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail301;
     871            0 :                           {
     872            0 :                             tree res_op0;
     873            0 :                             res_op0 = captures[4];
     874            0 :                             tree res_op1;
     875            0 :                             res_op1 = captures[5];
     876            0 :                             tree _r;
     877            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     878            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     879            0 :                             return _r;
     880              :                           }
     881              : next_after_fail301:;
     882              :                         }
     883              :                       else
     884              :                         {
     885          371 :                           if (code1 == EQ_EXPR
     886          371 :  && code2 == LT_EXPR
     887            0 :  && cmp == 0
     888            0 :  && allbits
     889          371 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     890            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     891            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     892              : )
     893              :                             {
     894            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail302;
     895            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail302;
     896            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail302;
     897            0 :                               {
     898            0 :                                 tree res_op0;
     899            0 :                                 res_op0 = captures[4];
     900            0 :                                 tree res_op1;
     901            0 :                                 res_op1 = captures[5];
     902            0 :                                 tree _r;
     903            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     904            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     905            0 :                                 return _r;
     906              :                               }
     907              : next_after_fail302:;
     908              :                             }
     909              :                           else
     910              :                             {
     911          371 :                               if (code1 == EQ_EXPR
     912          371 :  && code2 == GE_EXPR
     913              :  && one_before
     914            0 :  && allbits
     915          371 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     916            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     917            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     918              : )
     919              :                                 {
     920            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail303;
     921            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail303;
     922            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
     923            0 :                                   {
     924            0 :                                     tree res_op0;
     925            0 :                                     res_op0 = captures[4];
     926            0 :                                     tree res_op1;
     927            0 :                                     {
     928            0 :                                       tree _o1[1], _r1;
     929            0 :                                       _o1[0] = captures[2];
     930            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     931              :                                         {
     932            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     933              :                                         }
     934              :                                       else
     935              :                                         _r1 = _o1[0];
     936            0 :                                       res_op1 = _r1;
     937              :                                     }
     938            0 :                                     tree _r;
     939            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     940            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     941            0 :                                     return _r;
     942              :                                   }
     943              : next_after_fail303:;
     944              :                                 }
     945              :                               else
     946              :                                 {
     947          371 :                                   if (code1 == EQ_EXPR
     948          371 :  && code2 == LE_EXPR
     949              :  && one_after
     950            0 :  && allbits
     951          371 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     952            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     953            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     954              : )
     955              :                                     {
     956            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail304;
     957            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail304;
     958            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     959            0 :                                       {
     960            0 :                                         tree res_op0;
     961            0 :                                         res_op0 = captures[4];
     962            0 :                                         tree res_op1;
     963            0 :                                         {
     964            0 :                                           tree _o1[1], _r1;
     965            0 :                                           _o1[0] = captures[2];
     966            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     967              :                                             {
     968            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     969              :                                             }
     970              :                                           else
     971              :                                             _r1 = _o1[0];
     972            0 :                                           res_op1 = _r1;
     973              :                                         }
     974            0 :                                         tree _r;
     975            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     976            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
     977            0 :                                         return _r;
     978              :                                       }
     979              : next_after_fail304:;
     980              :                                     }
     981              :                                 }
     982              :                             }
     983              :                         }
     984              :                     }
     985              :                 }
     986              :             }
     987              :       }
     988              :     }
     989              :   return NULL_TREE;
     990              : }
     991              : 
     992              : tree
     993        99868 : generic_simplify_211 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     994              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     995              :  const enum tree_code ARG_UNUSED (op))
     996              : {
     997        99868 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     998       199736 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     999       198152 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1000        95694 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1001              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1002        99072 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1003       298016 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1004              : )
    1005              :     {
    1006        99063 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail354;
    1007        99063 :       {
    1008        99063 :         tree res_op0;
    1009        99063 :         res_op0 = captures[2];
    1010        99063 :         tree res_op1;
    1011        99063 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1012        99063 :         tree _r;
    1013        99063 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1014        99063 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1015            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1016        99063 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 264, __FILE__, __LINE__, true);
    1017        99063 :         return _r;
    1018              :       }
    1019            0 : next_after_fail354:;
    1020              :     }
    1021              :   return NULL_TREE;
    1022              : }
    1023              : 
    1024              : tree
    1025        25298 : generic_simplify_222 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1026              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1027              :  const enum tree_code ARG_UNUSED (op))
    1028              : {
    1029        25298 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1030        50596 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1031        50482 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1032        22748 :  || ((op == EQ_EXPR || op == NE_EXPR)
    1033         1764 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))))
    1034        50539 :  && (CONSTANT_CLASS_P (captures[2]) || single_use (captures[1]))
    1035              : )
    1036              :     {
    1037         4257 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail378;
    1038         4257 :       {
    1039         4257 :         tree res_op0;
    1040         4257 :         res_op0 = captures[2];
    1041         4257 :         tree res_op1;
    1042         4257 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1043         4257 :         tree _r;
    1044         4257 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1045         4257 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1046            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1047         4257 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 292, __FILE__, __LINE__, true);
    1048         4257 :         return _r;
    1049              :       }
    1050            0 : next_after_fail378:;
    1051              :     }
    1052              :   return NULL_TREE;
    1053              : }
    1054              : 
    1055              : tree
    1056     39463601 : generic_simplify_230 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1057              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1058              :  const enum tree_code ARG_UNUSED (cmp))
    1059              : {
    1060     39463601 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1061     78927376 :   if (wi::bit_and_not (get_known_nonzero_bits (captures[1]),
    1062    118390803 :  get_nonzero_bits (captures[0])) != 0
    1063              : )
    1064              :     {
    1065        77543 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail386;
    1066        77543 :       {
    1067        77543 :         tree _r;
    1068        77543 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1069        77543 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1070            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1071        77543 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1072            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1073        77543 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 299, __FILE__, __LINE__, true);
    1074        77543 :         return _r;
    1075              :       }
    1076            0 : next_after_fail386:;
    1077              :     }
    1078              :   return NULL_TREE;
    1079              : }
    1080              : 
    1081              : tree
    1082            0 : generic_simplify_238 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1083              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1084              :  const enum tree_code ARG_UNUSED (cmp),
    1085              :  const enum tree_code ARG_UNUSED (icmp))
    1086              : {
    1087            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1088            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1089              : )
    1090              :     {
    1091            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail398;
    1092            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail398;
    1093            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail398;
    1094            0 :       {
    1095            0 :         tree res_op0;
    1096            0 :         res_op0 = captures[0];
    1097            0 :         tree res_op1;
    1098            0 :         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]),
    1099            0 :  wi::exact_log2 (wi::to_wide (captures[1])));
    1100            0 :         tree _r;
    1101            0 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1102            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 311, __FILE__, __LINE__, true);
    1103            0 :         return _r;
    1104              :       }
    1105              : next_after_fail398:;
    1106              :     }
    1107              :   return NULL_TREE;
    1108              : }
    1109              : 
    1110              : tree
    1111            0 : generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1112              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1113              :  const enum tree_code ARG_UNUSED (rotate),
    1114              :  const enum tree_code ARG_UNUSED (invrot),
    1115              :  const enum tree_code ARG_UNUSED (cmp))
    1116              : {
    1117            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1118            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail410;
    1119            0 :   {
    1120            0 :     tree res_op0;
    1121            0 :     res_op0 = captures[0];
    1122            0 :     tree res_op1;
    1123            0 :     res_op1 = captures[2];
    1124            0 :     tree _r;
    1125            0 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1126            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1127            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1128            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 323, __FILE__, __LINE__, true);
    1129              :     return _r;
    1130              :   }
    1131            0 : next_after_fail410:;
    1132            0 :   return NULL_TREE;
    1133              : }
    1134              : 
    1135              : tree
    1136           27 : generic_simplify_247 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1137              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1138              :  const enum tree_code ARG_UNUSED (cmp),
    1139              :  const combined_fn ARG_UNUSED (bswap))
    1140              : {
    1141           27 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1142           27 :   {
    1143           27 :  tree ctype = TREE_TYPE (captures[1]);
    1144           27 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail415;
    1145           27 :       {
    1146           27 :         tree res_op0;
    1147           27 :         {
    1148           27 :           tree _o1[1], _r1;
    1149           27 :           _o1[0] = captures[0];
    1150           27 :           if (TREE_TYPE (_o1[0]) != ctype)
    1151              :             {
    1152            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, ctype, _o1[0]);
    1153              :             }
    1154              :           else
    1155              :             _r1 = _o1[0];
    1156           27 :           res_op0 = _r1;
    1157              :         }
    1158           27 :         tree res_op1;
    1159           27 :         {
    1160           27 :           tree _o1[1], _r1;
    1161           27 :           _o1[0] = captures[1];
    1162           27 :           _r1 = maybe_build_call_expr_loc (loc, bswap, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1163           27 :           if (!_r1)
    1164            0 :             goto next_after_fail415;
    1165           27 :           if (EXPR_P (_r1))
    1166           27 :             goto next_after_fail415;
    1167            0 :           res_op1 = _r1;
    1168              :         }
    1169            0 :         tree _r;
    1170            0 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1171            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 328, __FILE__, __LINE__, true);
    1172              :         return _r;
    1173              :       }
    1174              : next_after_fail415:;
    1175              :   }
    1176              :   return NULL_TREE;
    1177              : }
    1178              : 
    1179              : tree
    1180            0 : generic_simplify_256 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1181              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1182              :  const enum tree_code ARG_UNUSED (cmp))
    1183              : {
    1184            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1185            0 :   if (single_use (captures[1]) && single_use (captures[3])
    1186              : )
    1187              :     {
    1188            0 :       {
    1189            0 :  tree otype = TREE_TYPE (captures[0]);
    1190            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail430;
    1191            0 :           {
    1192            0 :             tree res_op0;
    1193            0 :             {
    1194            0 :               tree _o1[1], _r1;
    1195            0 :               _o1[0] = captures[4];
    1196            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1197              :                 {
    1198            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1199              :                 }
    1200              :               else
    1201              :                 _r1 = _o1[0];
    1202            0 :               res_op0 = _r1;
    1203              :             }
    1204            0 :             tree res_op1;
    1205            0 :             {
    1206            0 :               tree _o1[1], _r1;
    1207            0 :               _o1[0] = captures[2];
    1208            0 :               if (TREE_TYPE (_o1[0]) != otype)
    1209              :                 {
    1210            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1211              :                 }
    1212              :               else
    1213              :                 _r1 = _o1[0];
    1214            0 :               res_op1 = _r1;
    1215              :             }
    1216            0 :             tree _r;
    1217            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1218            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 342, __FILE__, __LINE__, true);
    1219            0 :             return _r;
    1220              :           }
    1221            0 : next_after_fail430:;
    1222              :       }
    1223              :     }
    1224            0 :   return NULL_TREE;
    1225              : }
    1226              : 
    1227              : tree
    1228           22 : generic_simplify_262 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1229              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1230              :  const combined_fn ARG_UNUSED (sq),
    1231              :  const enum tree_code ARG_UNUSED (cmp))
    1232              : {
    1233           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1234           22 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1235              : )
    1236              :     {
    1237           20 :       if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
    1238              : )
    1239              :         {
    1240            2 :           if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
    1241              : )
    1242              :             {
    1243            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail450;
    1244            1 :               {
    1245            1 :                 tree _r;
    1246            1 :                 _r =  constant_boolean_node (false, type);
    1247            1 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    1248            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1249            1 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1250            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1251            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 361, __FILE__, __LINE__, true);
    1252            1 :                 return _r;
    1253              :               }
    1254            0 : next_after_fail450:;
    1255            0 :             }
    1256              :           else
    1257              :             {
    1258            1 :               if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
    1259              : )
    1260              :                 {
    1261            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail451;
    1262            1 :                   {
    1263            1 :                     tree _r;
    1264            1 :                     _r =  constant_boolean_node (true, type);
    1265            1 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1266            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1267            1 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1268            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1269            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 362, __FILE__, __LINE__, true);
    1270            1 :                     return _r;
    1271              :                   }
    1272            0 : next_after_fail451:;
    1273              :                 }
    1274              :               else
    1275              :                 {
    1276            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail452;
    1277            0 :                   {
    1278            0 :                     tree res_op0;
    1279            0 :                     res_op0 = captures[0];
    1280            0 :                     tree res_op1;
    1281            0 :                     res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1282            0 :                     tree _r;
    1283            0 :                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1284            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1285            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1286            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 363, __FILE__, __LINE__, true);
    1287            0 :                     return _r;
    1288              :                   }
    1289            0 : next_after_fail452:;
    1290              :                 }
    1291              :             }
    1292              :         }
    1293              :       else
    1294              :         {
    1295           18 :           if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
    1296              : )
    1297              :             {
    1298            0 :               if (cmp == LT_EXPR
    1299              : )
    1300              :                 {
    1301            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail453;
    1302            0 :                   {
    1303            0 :                     tree _r;
    1304            0 :                     _r =  constant_boolean_node (false, type);
    1305            0 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    1306            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1307            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1308            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1309            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 364, __FILE__, __LINE__, true);
    1310            0 :                     return _r;
    1311              :                   }
    1312            0 : next_after_fail453:;
    1313              :                 }
    1314              :               else
    1315              :                 {
    1316            0 :                   if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
    1317              : )
    1318              :                     {
    1319            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail454;
    1320            0 :                       {
    1321            0 :                         tree _r;
    1322            0 :                         _r =  constant_boolean_node (true, type);
    1323            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1324            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1325            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1326            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1327            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 365, __FILE__, __LINE__, true);
    1328            0 :                         return _r;
    1329              :                       }
    1330            0 : next_after_fail454:;
    1331              :                     }
    1332              :                   else
    1333              :                     {
    1334            0 :                       if (cmp == LE_EXPR
    1335              : )
    1336              :                         {
    1337            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail455;
    1338            0 :                           {
    1339            0 :                             tree res_op0;
    1340            0 :                             res_op0 = captures[0];
    1341            0 :                             tree res_op1;
    1342            0 :                             res_op1 = captures[1];
    1343            0 :                             tree _r;
    1344            0 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1345            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 366, __FILE__, __LINE__, true);
    1346            0 :                             return _r;
    1347              :                           }
    1348            0 : next_after_fail455:;
    1349              :                         }
    1350              :                       else
    1351              :                         {
    1352            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail456;
    1353            0 :                           {
    1354            0 :                             tree res_op0;
    1355            0 :                             res_op0 = captures[0];
    1356            0 :                             tree res_op1;
    1357            0 :                             res_op1 = captures[1];
    1358            0 :                             tree _r;
    1359            0 :                             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1360            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 367, __FILE__, __LINE__, true);
    1361            0 :                             return _r;
    1362              :                           }
    1363            0 : next_after_fail456:;
    1364              :                         }
    1365              :                     }
    1366              :                 }
    1367              :             }
    1368              :           else
    1369              :             {
    1370           18 :               if ((cmp == LT_EXPR
    1371              :  || cmp == LE_EXPR
    1372              :  || cmp == GT_EXPR
    1373           18 :  || cmp == GE_EXPR)
    1374           16 :  && !REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    1375           34 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (TREE_TYPE (captures[0]))
    1376              : )
    1377              :                 {
    1378           16 :                   {
    1379           16 :  REAL_VALUE_TYPE c2;
    1380           16 :  enum tree_code ncmp = cmp;
    1381           16 :  const real_format *fmt
    1382           16 :  = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0])));
    1383           32 :  real_arithmetic (&c2, MULT_EXPR,
    1384           16 :  &TREE_REAL_CST (captures[1]), &TREE_REAL_CST (captures[1]));
    1385           16 :  real_convert (&c2, fmt, &c2);
    1386           16 :  if (!REAL_VALUE_ISINF (c2))
    1387              :  {
    1388           13 :  tree c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1389           13 :  build_real (TREE_TYPE (captures[0]), c2));
    1390           13 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1391              :  ncmp = ERROR_MARK;
    1392           13 :  else if ((cmp == LT_EXPR || cmp == GE_EXPR)
    1393           13 :  && real_less (&TREE_REAL_CST (c3), &TREE_REAL_CST (captures[1])))
    1394            4 :  ncmp = cmp == LT_EXPR ? LE_EXPR : GT_EXPR;
    1395            9 :  else if ((cmp == LE_EXPR || cmp == GT_EXPR)
    1396           13 :  && real_less (&TREE_REAL_CST (captures[1]), &TREE_REAL_CST (c3)))
    1397            1 :  ncmp = cmp == LE_EXPR ? LT_EXPR : GE_EXPR;
    1398              :  else
    1399              :  {
    1400            8 :  REAL_VALUE_TYPE c2alt, tow;
    1401            8 :  if (cmp == LT_EXPR || cmp == GE_EXPR)
    1402            5 :  tow = dconst0;
    1403              :  else
    1404            3 :  tow = dconstinf;
    1405            8 :  real_nextafter (&c2alt, fmt, &c2, &tow);
    1406            8 :  real_convert (&c2alt, fmt, &c2alt);
    1407            8 :  if (REAL_VALUE_ISINF (c2alt))
    1408              :  ncmp = ERROR_MARK;
    1409              :  else
    1410              :  {
    1411            8 :  c3 = fold_const_call (CFN_SQRT, TREE_TYPE (captures[0]),
    1412            8 :  build_real (TREE_TYPE (captures[0]), c2alt));
    1413            8 :  if (c3 == NULL_TREE || TREE_CODE (c3) != REAL_CST)
    1414              :  ncmp = ERROR_MARK;
    1415            8 :  else if (real_equal (&TREE_REAL_CST (c3),
    1416            8 :  &TREE_REAL_CST (captures[1])))
    1417            8 :  c2 = c2alt;
    1418              :  }
    1419              :  }
    1420              :  }
    1421           12 :                       if (cmp == GT_EXPR || cmp == GE_EXPR
    1422              : )
    1423              :                         {
    1424            5 :                           if (REAL_VALUE_ISINF (c2)
    1425              : )
    1426              :                             {
    1427            1 :                               if (HONOR_INFINITIES (captures[0])
    1428              : )
    1429              :                                 {
    1430            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail457;
    1431            0 :                                   {
    1432            0 :                                     tree res_op0;
    1433            0 :                                     res_op0 = captures[0];
    1434            0 :                                     tree res_op1;
    1435            0 :                                     res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1436            0 :                                     tree _r;
    1437            0 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1438            0 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1439            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1440            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 368, __FILE__, __LINE__, true);
    1441           14 :                                     return _r;
    1442              :                                   }
    1443            0 : next_after_fail457:;
    1444              :                                 }
    1445              :                               else
    1446              :                                 {
    1447            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail458;
    1448            1 :                                   {
    1449            1 :                                     tree _r;
    1450            1 :                                     _r =  constant_boolean_node (false, type);
    1451            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1452            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1453            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1454            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1455            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 369, __FILE__, __LINE__, true);
    1456            1 :                                     return _r;
    1457              :                                   }
    1458            0 : next_after_fail458:;
    1459              :                                 }
    1460              :                             }
    1461              :                           else
    1462              :                             {
    1463            4 :                               if (ncmp != ERROR_MARK
    1464              : )
    1465              :                                 {
    1466            4 :                                   if (ncmp == GE_EXPR
    1467              : )
    1468              :                                     {
    1469            1 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail459;
    1470            1 :                                       {
    1471            1 :                                         tree res_op0;
    1472            1 :                                         res_op0 = captures[0];
    1473            1 :                                         tree res_op1;
    1474            1 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1475            1 :                                         tree _r;
    1476            1 :                                         _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1477            1 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1478            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1479            1 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 370, __FILE__, __LINE__, true);
    1480            1 :                                         return _r;
    1481              :                                       }
    1482            0 : next_after_fail459:;
    1483              :                                     }
    1484              :                                   else
    1485              :                                     {
    1486            3 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail460;
    1487            3 :                                       {
    1488            3 :                                         tree res_op0;
    1489            3 :                                         res_op0 = captures[0];
    1490            3 :                                         tree res_op1;
    1491            3 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1492            3 :                                         tree _r;
    1493            3 :                                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1494            3 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1495            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1496            3 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 371, __FILE__, __LINE__, true);
    1497            3 :                                         return _r;
    1498              :                                       }
    1499            0 : next_after_fail460:;
    1500              :                                     }
    1501              :                                 }
    1502              :                             }
    1503              :                         }
    1504              :                       else
    1505              :                         {
    1506           11 :                           if (REAL_VALUE_ISINF (c2)
    1507              : )
    1508              :                             {
    1509            2 :                               if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
    1510              : )
    1511              :                                 {
    1512            1 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail461;
    1513            1 :                                   {
    1514            1 :                                     tree _r;
    1515            1 :                                     _r =  constant_boolean_node (true, type);
    1516            1 :                                     if (TREE_SIDE_EFFECTS (captures[0]))
    1517            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1518            1 :                                     if (TREE_SIDE_EFFECTS (captures[1]))
    1519            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1520            1 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 372, __FILE__, __LINE__, true);
    1521            1 :                                     return _r;
    1522              :                                   }
    1523            0 : next_after_fail461:;
    1524              :                                 }
    1525              :                               else
    1526              :                                 {
    1527            1 :                                   if (! HONOR_NANS (captures[0])
    1528              : )
    1529              :                                     {
    1530            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail462;
    1531            0 :                                       {
    1532            0 :                                         tree res_op0;
    1533            0 :                                         res_op0 = captures[0];
    1534            0 :                                         tree res_op1;
    1535            0 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1536            0 :                                         tree _r;
    1537            0 :                                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1538            0 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1539            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1540            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 373, __FILE__, __LINE__, true);
    1541            0 :                                         return _r;
    1542              :                                       }
    1543            0 : next_after_fail462:;
    1544              :                                     }
    1545              :                                   else
    1546              :                                     {
    1547            1 :                                       if (! HONOR_INFINITIES (captures[0])
    1548              : )
    1549              :                                         {
    1550            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail463;
    1551            0 :                                           {
    1552            0 :                                             tree res_op0;
    1553            0 :                                             res_op0 = captures[0];
    1554            0 :                                             tree res_op1;
    1555            0 :                                             res_op1 =  build_real (TREE_TYPE (captures[0]), dconst0);
    1556            0 :                                             tree _r;
    1557            0 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    1558            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1559            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1560            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 374, __FILE__, __LINE__, true);
    1561            0 :                                             return _r;
    1562              :                                           }
    1563            0 : next_after_fail463:;
    1564              :                                         }
    1565              :                                       else
    1566              :                                         {
    1567            1 :                                           if (1
    1568              : )
    1569              :                                             {
    1570            1 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail464;
    1571            1 :                                               {
    1572            1 :                                                 if (! tree_invariant_p (captures[0])) goto next_after_fail464;
    1573            0 :                                                 tree res_op0;
    1574            0 :                                                 {
    1575            0 :                                                   tree _o1[2], _r1;
    1576            0 :                                                   _o1[0] = unshare_expr (captures[0]);
    1577            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1578            0 :                                                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1579            0 :                                                   res_op0 = _r1;
    1580              :                                                 }
    1581            0 :                                                 tree res_op1;
    1582            0 :                                                 {
    1583            0 :                                                   tree _o1[2], _r1;
    1584            0 :                                                   _o1[0] = captures[0];
    1585            0 :                                                   _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1586            0 :                                                   _r1 = fold_build2_loc (loc, NE_EXPR, type, _o1[0], _o1[1]);
    1587            0 :                                                   res_op1 = _r1;
    1588              :                                                 }
    1589            0 :                                                 tree _r;
    1590            0 :                                                 _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1591            0 :                                                 if (TREE_SIDE_EFFECTS (captures[1]))
    1592            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1593            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 375, __FILE__, __LINE__, true);
    1594            0 :                                                 return _r;
    1595              :                                               }
    1596            2 : next_after_fail464:;
    1597              :                                             }
    1598              :                                         }
    1599              :                                     }
    1600              :                                 }
    1601              :                             }
    1602              :                           else
    1603              :                             {
    1604            9 :                               if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
    1605              : )
    1606              :                                 {
    1607            8 :                                   if (ncmp == LT_EXPR
    1608              : )
    1609              :                                     {
    1610            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail465;
    1611            4 :                                       {
    1612            4 :                                         tree res_op0;
    1613            4 :                                         res_op0 = captures[0];
    1614            4 :                                         tree res_op1;
    1615            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1616            4 :                                         tree _r;
    1617            4 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    1618            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1619            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1620            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 376, __FILE__, __LINE__, true);
    1621            4 :                                         return _r;
    1622              :                                       }
    1623            0 : next_after_fail465:;
    1624              :                                     }
    1625              :                                   else
    1626              :                                     {
    1627            4 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail466;
    1628            4 :                                       {
    1629            4 :                                         tree res_op0;
    1630            4 :                                         res_op0 = captures[0];
    1631            4 :                                         tree res_op1;
    1632            4 :                                         res_op1 =  build_real (TREE_TYPE (captures[0]), c2);
    1633            4 :                                         tree _r;
    1634            4 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1635            4 :                                         if (TREE_SIDE_EFFECTS (captures[1]))
    1636            0 :                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1637            4 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 377, __FILE__, __LINE__, true);
    1638            4 :                                         return _r;
    1639              :                                       }
    1640            0 : next_after_fail466:;
    1641              :                                     }
    1642              :                                 }
    1643              :                               else
    1644              :                                 {
    1645            1 :                                   if (ncmp != ERROR_MARK &&
    1646              : 1
    1647              : )
    1648              :                                     {
    1649            1 :                                       if (ncmp == LT_EXPR
    1650              : )
    1651              :                                         {
    1652            1 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail467;
    1653            1 :                                           {
    1654            1 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail467;
    1655            0 :                                             tree res_op0;
    1656            0 :                                             {
    1657            0 :                                               tree _o1[2], _r1;
    1658            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1659            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1660            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1661            0 :                                               res_op0 = _r1;
    1662              :                                             }
    1663            0 :                                             tree res_op1;
    1664            0 :                                             {
    1665            0 :                                               tree _o1[2], _r1;
    1666            0 :                                               _o1[0] = captures[0];
    1667            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1668            0 :                                               _r1 = fold_build2_loc (loc, LT_EXPR, type, _o1[0], _o1[1]);
    1669            0 :                                               res_op1 = _r1;
    1670              :                                             }
    1671            0 :                                             tree _r;
    1672            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1673            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1674            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1675            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 378, __FILE__, __LINE__, true);
    1676            0 :                                             return _r;
    1677              :                                           }
    1678            2 : next_after_fail467:;
    1679              :                                         }
    1680              :                                       else
    1681              :                                         {
    1682            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail468;
    1683            0 :                                           {
    1684            0 :                                             if (! tree_invariant_p (captures[0])) goto next_after_fail468;
    1685            0 :                                             tree res_op0;
    1686            0 :                                             {
    1687            0 :                                               tree _o1[2], _r1;
    1688            0 :                                               _o1[0] = unshare_expr (captures[0]);
    1689            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    1690            0 :                                               _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    1691            0 :                                               res_op0 = _r1;
    1692              :                                             }
    1693            0 :                                             tree res_op1;
    1694            0 :                                             {
    1695            0 :                                               tree _o1[2], _r1;
    1696            0 :                                               _o1[0] = captures[0];
    1697            0 :                                               _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
    1698            0 :                                               _r1 = fold_build2_loc (loc, LE_EXPR, type, _o1[0], _o1[1]);
    1699            0 :                                               res_op1 = _r1;
    1700              :                                             }
    1701            0 :                                             tree _r;
    1702            0 :                                             _r = fold_build2_loc (loc, TRUTH_ANDIF_EXPR, type, res_op0, res_op1);
    1703            0 :                                             if (TREE_SIDE_EFFECTS (captures[1]))
    1704            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1705            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 379, __FILE__, __LINE__, true);
    1706            0 :                                             return _r;
    1707              :                                           }
    1708            2 : next_after_fail468:;
    1709              :                                         }
    1710              :                                     }
    1711              :                                 }
    1712              :                             }
    1713              :                         }
    1714              :                   }
    1715              :                 }
    1716              :             }
    1717              :         }
    1718              :     }
    1719              :   return NULL_TREE;
    1720              : }
    1721              : 
    1722              : tree
    1723            0 : generic_simplify_335 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1724              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1725              :  const combined_fn ARG_UNUSED (SQRT))
    1726              : {
    1727            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1728            0 :   if (flag_unsafe_math_optimizations
    1729              : )
    1730              :     {
    1731            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail606;
    1732            0 :       {
    1733            0 :         tree res_op0;
    1734            0 :         res_op0 = captures[0];
    1735            0 :         tree _r;
    1736            0 :         _r = maybe_build_call_expr_loc (loc, SQRT, type, 1, res_op0);
    1737            0 :         if (!_r)
    1738            0 :           goto next_after_fail606;
    1739            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 497, __FILE__, __LINE__, true);
    1740            0 :         return _r;
    1741              :       }
    1742              : next_after_fail606:;
    1743              :     }
    1744              :   return NULL_TREE;
    1745              : }
    1746              : 
    1747              : tree
    1748            4 : generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1749              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1750              :  const combined_fn ARG_UNUSED (POW))
    1751              : {
    1752            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1753            4 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1754              : )
    1755              :     {
    1756            4 :       if (!TREE_OVERFLOW (captures[2])
    1757              : )
    1758              :         {
    1759            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail613;
    1760            4 :           {
    1761            4 :             tree res_op0;
    1762            4 :             res_op0 = captures[1];
    1763            4 :             tree res_op1;
    1764            4 :             {
    1765            4 :               tree _o1[2], _r1;
    1766            4 :               _o1[0] = captures[2];
    1767            4 :               _o1[1] =  build_one_cst (type);
    1768            4 :               _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1769            4 :               res_op1 = _r1;
    1770              :             }
    1771            4 :             tree _r;
    1772            4 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1773            4 :             if (!_r)
    1774            0 :               goto next_after_fail613;
    1775            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 504, __FILE__, __LINE__, true);
    1776            4 :             return _r;
    1777              :           }
    1778              : next_after_fail613:;
    1779              :         }
    1780              :     }
    1781              :   return NULL_TREE;
    1782              : }
    1783              : 
    1784              : tree
    1785            9 : generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1786              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1787              : {
    1788            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1789            9 :   if (INTEGRAL_TYPE_P (type)
    1790            9 :  && !TYPE_UNSIGNED (type)
    1791              : )
    1792              :     {
    1793            9 :       {
    1794            9 :  tree utype = unsigned_type_for (type);
    1795            9 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail627;
    1796            9 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail627;
    1797            9 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
    1798            9 :           {
    1799            9 :             tree res_op0;
    1800            9 :             {
    1801            9 :               tree _o1[2], _r1;
    1802            9 :               {
    1803            9 :                 tree _o2[1], _r2;
    1804            9 :                 _o2[0] = captures[0];
    1805            9 :                 if (TREE_TYPE (_o2[0]) != utype)
    1806              :                   {
    1807            9 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1808              :                   }
    1809              :                 else
    1810              :                   _r2 = _o2[0];
    1811            9 :                 _o1[0] = _r2;
    1812              :               }
    1813            9 :               {
    1814            9 :                 tree _o2[1], _r2;
    1815            9 :                 _o2[0] = captures[1];
    1816            9 :                 if (TREE_TYPE (_o2[0]) != utype)
    1817              :                   {
    1818            9 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    1819              :                   }
    1820              :                 else
    1821              :                   _r2 = _o2[0];
    1822            9 :                 _o1[1] = _r2;
    1823              :               }
    1824            9 :               _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1825            9 :               res_op0 = _r1;
    1826              :             }
    1827            9 :             tree _r;
    1828            9 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    1829            9 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
    1830            9 :             return _r;
    1831              :           }
    1832              : next_after_fail627:;
    1833              :       }
    1834              :     }
    1835              :   return NULL_TREE;
    1836              : }
    1837              : 
    1838              : tree
    1839            0 : generic_simplify_357 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1840              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1841              :  const enum tree_code ARG_UNUSED (op))
    1842              : {
    1843            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1844            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail634;
    1845            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail634;
    1846            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
    1847            0 :   {
    1848            0 :     tree _r;
    1849            0 :     _r = captures[2];
    1850            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 525, __FILE__, __LINE__, true);
    1851              :     return _r;
    1852              :   }
    1853              : next_after_fail634:;
    1854              :   return NULL_TREE;
    1855              : }
    1856              : 
    1857              : tree
    1858            0 : generic_simplify_364 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1859              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1860              : {
    1861            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1862            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail641;
    1863            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail641;
    1864            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail641;
    1865            0 :   {
    1866            0 :     tree _r;
    1867            0 :     _r = captures[2];
    1868            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
    1869              :     return _r;
    1870              :   }
    1871              : next_after_fail641:;
    1872              :   return NULL_TREE;
    1873              : }
    1874              : 
    1875              : tree
    1876            9 : generic_simplify_370 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1877              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1878              :  const combined_fn ARG_UNUSED (func))
    1879              : {
    1880            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1881            9 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail648;
    1882            9 :   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail648;
    1883            9 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail648;
    1884            9 :   {
    1885            9 :     tree _r;
    1886            9 :     _r = captures[2];
    1887            9 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1888            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1889            9 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 539, __FILE__, __LINE__, true);
    1890              :     return _r;
    1891              :   }
    1892              : next_after_fail648:;
    1893              :   return NULL_TREE;
    1894              : }
    1895              : 
    1896              : tree
    1897            1 : generic_simplify_378 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1898              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1899              :  const enum tree_code ARG_UNUSED (cmp))
    1900              : {
    1901            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1902            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail659;
    1903            1 :   {
    1904            1 :     tree _r;
    1905            1 :     _r =  constant_boolean_node (cmp == LT_EXPR, type);
    1906            1 :     if (TREE_SIDE_EFFECTS (captures[0]))
    1907            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1908            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1909            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1910            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 548, __FILE__, __LINE__, true);
    1911              :     return _r;
    1912              :   }
    1913            0 : next_after_fail659:;
    1914            0 :   return NULL_TREE;
    1915              : }
    1916              : 
    1917              : tree
    1918          433 : generic_simplify_384 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1919              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1920              :  const enum tree_code ARG_UNUSED (op))
    1921              : {
    1922          433 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1923          866 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1924          866 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1925              : )
    1926              :     {
    1927            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail666;
    1928            0 :       {
    1929            0 :         tree res_op0;
    1930            0 :         res_op0 = captures[2];
    1931            0 :         tree res_op1;
    1932            0 :         res_op1 = captures[1];
    1933            0 :         tree _r;
    1934            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1935            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1936            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1937            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 555, __FILE__, __LINE__, true);
    1938            0 :         return _r;
    1939              :       }
    1940            0 : next_after_fail666:;
    1941              :     }
    1942              :   return NULL_TREE;
    1943              : }
    1944              : 
    1945              : tree
    1946            6 : generic_simplify_390 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1947              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1948              :  const enum tree_code ARG_UNUSED (cmp))
    1949              : {
    1950            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1951           12 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1952           12 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1953              : )
    1954              :     {
    1955            6 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail673;
    1956            6 :       {
    1957            6 :         tree res_op0;
    1958            6 :         res_op0 = captures[0];
    1959            6 :         tree res_op1;
    1960            6 :         res_op1 = captures[1];
    1961            6 :         tree _r;
    1962            6 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1963            6 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 562, __FILE__, __LINE__, true);
    1964            6 :         return _r;
    1965              :       }
    1966            0 : next_after_fail673:;
    1967              :     }
    1968              :   return NULL_TREE;
    1969              : }
    1970              : 
    1971              : tree
    1972          167 : generic_simplify_397 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1973              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1974              :  const enum tree_code ARG_UNUSED (cmp),
    1975              :  const enum tree_code ARG_UNUSED (out))
    1976              : {
    1977          167 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1978          167 :   if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1979          167 :  && types_match (TREE_TYPE (captures[3]), TREE_TYPE (captures[0]))
    1980          156 :  && tree_nop_conversion_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
    1981          167 :  && wi::to_wide (captures[4]) != 0
    1982            0 :  && single_use (captures[1])
    1983              : )
    1984              :     {
    1985          156 :       {
    1986          156 :  unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
    1987          156 :  signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
    1988          156 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail712;
    1989          156 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail712;
    1990          156 :           {
    1991          156 :             tree res_op0;
    1992          156 :             res_op0 = captures[3];
    1993          156 :             tree res_op1;
    1994          156 :             res_op1 =  wide_int_to_tree (TREE_TYPE (captures[3]),
    1995          156 :  wi::max_value (prec, sign)
    1996          468 :  - wi::to_wide (captures[4]));
    1997          156 :             tree _r;
    1998          156 :             _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    1999          156 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    2000          156 :             return _r;
    2001              :           }
    2002              : next_after_fail712:;
    2003              :       }
    2004              :     }
    2005              :   return NULL_TREE;
    2006              : }
    2007              : 
    2008              : tree
    2009           50 : generic_simplify_405 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2010              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2011              :  const enum tree_code ARG_UNUSED (op),
    2012              :  const enum tree_code ARG_UNUSED (cmp),
    2013              :  const combined_fn ARG_UNUSED (ctz))
    2014              : {
    2015           50 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2016           50 :   {
    2017           50 :  bool ok = true;
    2018           50 :  HOST_WIDE_INT val = 0;
    2019           50 :  if (sanitize_flags_p (SANITIZE_BUILTIN)
    2020           50 :  && (!cfun
    2021           32 :  || (cfun->curr_properties & PROP_ssa) == 0))
    2022              :  ok = false;
    2023           18 :  else if (!tree_fits_shwi_p (captures[2]))
    2024              :  ok = false;
    2025              :  else
    2026              :  {
    2027           18 :  val = tree_to_shwi (captures[2]);
    2028           18 :  if (op == GT_EXPR || op == LE_EXPR)
    2029              :  {
    2030           10 :  if (val == HOST_WIDE_INT_MAX)
    2031              :  ok = false;
    2032              :  else
    2033           10 :  val++;
    2034              :  }
    2035              :  }
    2036           50 :  tree type0 = TREE_TYPE (captures[1]);
    2037           50 :  int prec = TYPE_PRECISION (type0);
    2038           68 :       if (ok && prec <= MAX_FIXED_MODE_SIZE
    2039              : )
    2040              :         {
    2041           18 :           if (val <= 0
    2042              : )
    2043              :             {
    2044            8 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail723;
    2045            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail723;
    2046            8 :               {
    2047            8 :                 tree _r;
    2048            8 :                 _r =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
    2049            8 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2050            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2051            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 595, __FILE__, __LINE__, true);
    2052            8 :                 return _r;
    2053              :               }
    2054              : next_after_fail723:;
    2055              :             }
    2056              :           else
    2057              :             {
    2058           10 :               if (val >= prec
    2059              : )
    2060              :                 {
    2061            5 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail724;
    2062            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail724;
    2063            5 :                   {
    2064            5 :                     tree _r;
    2065            5 :                     _r =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
    2066            5 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2067            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2068            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 596, __FILE__, __LINE__, true);
    2069            5 :                     return _r;
    2070              :                   }
    2071              : next_after_fail724:;
    2072              :                 }
    2073              :               else
    2074              :                 {
    2075            5 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail725;
    2076            5 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail725;
    2077            5 :                   {
    2078            5 :                     tree res_op0;
    2079            5 :                     {
    2080            5 :                       tree _o1[2], _r1;
    2081            5 :                       _o1[0] = captures[1];
    2082            5 :                       _o1[1] =  wide_int_to_tree (type0,
    2083            5 :  wi::mask (val, false, prec));
    2084            5 :                       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2085            5 :                       res_op0 = _r1;
    2086              :                     }
    2087            5 :                     tree res_op1;
    2088            5 :                     res_op1 =  build_zero_cst (type0);
    2089            5 :                     tree _r;
    2090            5 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2091            5 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 597, __FILE__, __LINE__, true);
    2092            5 :                     return _r;
    2093              :                   }
    2094              : next_after_fail725:;
    2095              :                 }
    2096              :             }
    2097              :         }
    2098              :   }
    2099              :   return NULL_TREE;
    2100              : }
    2101              : 
    2102              : tree
    2103          355 : generic_simplify_418 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2104              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2105              :  const enum tree_code ARG_UNUSED (shift),
    2106              :  const enum tree_code ARG_UNUSED (mod))
    2107              : {
    2108          355 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2109          355 :   if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
    2110              : )
    2111              :     {
    2112          280 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail744;
    2113          280 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail744;
    2114          280 :       {
    2115          280 :         tree res_op0;
    2116          280 :         res_op0 = captures[0];
    2117          280 :         tree res_op1;
    2118          280 :         {
    2119          280 :           tree _o1[2], _r1;
    2120          280 :           _o1[0] = captures[1];
    2121          280 :           {
    2122          280 :             tree _o2[2], _r2;
    2123          280 :             _o2[0] = captures[2];
    2124          280 :             _o2[1] =  build_int_cst (TREE_TYPE (captures[2]),
    2125              :  1);
    2126          280 :             _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2127          280 :             _o1[1] = _r2;
    2128              :           }
    2129          280 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2130          280 :           res_op1 = _r1;
    2131              :         }
    2132          280 :         tree _r;
    2133          280 :         _r = fold_build2_loc (loc, shift, type, res_op0, res_op1);
    2134          280 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 612, __FILE__, __LINE__, true);
    2135          280 :         return _r;
    2136              :       }
    2137              : next_after_fail744:;
    2138              :     }
    2139              :   return NULL_TREE;
    2140              : }
    2141              : 
    2142              : tree
    2143        27477 : generic_simplify_427 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2144              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2145              :  const enum tree_code ARG_UNUSED (bit_op),
    2146              :  const enum tree_code ARG_UNUSED (shift))
    2147              : {
    2148        27477 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2149        27477 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2150              : )
    2151              :     {
    2152        27477 :       {
    2153        27477 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2154        27477 :           if (mask
    2155              : )
    2156              :             {
    2157        27470 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail756;
    2158        27470 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail756;
    2159        27470 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail756;
    2160        27470 :               {
    2161        27470 :                 tree res_op0;
    2162        27470 :                 {
    2163        27470 :                   tree _o1[2], _r1;
    2164        27470 :                   {
    2165        27470 :                     tree _o2[1], _r2;
    2166        27470 :                     _o2[0] = captures[2];
    2167        27470 :                     if (TREE_TYPE (_o2[0]) != type)
    2168              :                       {
    2169           70 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2170              :                       }
    2171              :                     else
    2172              :                       _r2 = _o2[0];
    2173        27470 :                     _o1[0] = _r2;
    2174              :                   }
    2175        27470 :                   _o1[1] = captures[4];
    2176        27470 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2177        27470 :                   res_op0 = _r1;
    2178              :                 }
    2179        27470 :                 tree res_op1;
    2180        27470 :                 res_op1 =  mask;
    2181        27470 :                 tree _r;
    2182        27470 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2183        27470 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 622, __FILE__, __LINE__, true);
    2184        27470 :                 return _r;
    2185              :               }
    2186              : next_after_fail756:;
    2187              :             }
    2188              :       }
    2189              :     }
    2190              :   return NULL_TREE;
    2191              : }
    2192              : 
    2193              : tree
    2194           94 : generic_simplify_433 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2195              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2196              :  const enum tree_code ARG_UNUSED (minmax))
    2197              : {
    2198           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2199           94 :   if (INTEGRAL_TYPE_P (type)
    2200           94 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2201           94 :  && types_match (type, TREE_TYPE (captures[1]))
    2202            8 :  && types_match (type, TREE_TYPE (captures[3]))
    2203            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    2204            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type)
    2205           94 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0])) == TYPE_UNSIGNED (type)
    2206              : )
    2207              :     {
    2208            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail768;
    2209            0 :       {
    2210            0 :         tree res_op0;
    2211            0 :         res_op0 = captures[1];
    2212            0 :         tree res_op1;
    2213            0 :         res_op1 = captures[3];
    2214            0 :         tree _r;
    2215            0 :         _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
    2216            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
    2217            0 :         return _r;
    2218              :       }
    2219            0 : next_after_fail768:;
    2220              :     }
    2221              :   return NULL_TREE;
    2222              : }
    2223              : 
    2224              : tree
    2225      8188566 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2226              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2227              :  const enum tree_code ARG_UNUSED (op))
    2228              : {
    2229      8188566 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2230      8188566 :   if (INTEGRAL_TYPE_P (type)
    2231      7963628 :  && op != MULT_EXPR
    2232      7963628 :  && op != RDIV_EXPR
    2233      3900373 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2234      3582190 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2235      3582190 :  && type_has_mode_precision_p (TREE_TYPE (captures[2]))
    2236      3532224 :  && type_has_mode_precision_p (TREE_TYPE (captures[4]))
    2237      3532216 :  && type_has_mode_precision_p (type)
    2238      3523695 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
    2239      1300013 :  && types_match (captures[2], type)
    2240      8204140 :  && (types_match (captures[2], captures[4])
    2241        15574 :  || poly_int_tree_p (captures[3]))
    2242              : )
    2243              :     {
    2244        12912 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
    2245              : )
    2246              :         {
    2247         7898 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail774;
    2248         7898 :           {
    2249         7898 :             tree res_op0;
    2250         7898 :             res_op0 = captures[2];
    2251         7898 :             tree res_op1;
    2252         7898 :             {
    2253         7898 :               tree _o1[1], _r1;
    2254         7898 :               _o1[0] = captures[4];
    2255         7898 :               if (TREE_TYPE (_o1[0]) != type)
    2256              :                 {
    2257         7898 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2258              :                 }
    2259              :               else
    2260              :                 _r1 = _o1[0];
    2261         7898 :               res_op1 = _r1;
    2262              :             }
    2263         7898 :             tree _r;
    2264         7898 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2265         7898 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 636, __FILE__, __LINE__, true);
    2266         7898 :             return _r;
    2267              :           }
    2268            0 : next_after_fail774:;
    2269              :         }
    2270              :       else
    2271              :         {
    2272         5014 :           {
    2273         5014 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
    2274         5014 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail775;
    2275         5014 :               {
    2276         5014 :                 tree res_op0;
    2277         5014 :                 {
    2278         5014 :                   tree _o1[2], _r1;
    2279         5014 :                   {
    2280         5014 :                     tree _o2[1], _r2;
    2281         5014 :                     _o2[0] = captures[2];
    2282         5014 :                     if (TREE_TYPE (_o2[0]) != utype)
    2283              :                       {
    2284         5014 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2285              :                       }
    2286              :                     else
    2287              :                       _r2 = _o2[0];
    2288         5014 :                     _o1[0] = _r2;
    2289              :                   }
    2290         5014 :                   {
    2291         5014 :                     tree _o2[1], _r2;
    2292         5014 :                     _o2[0] = captures[4];
    2293         5014 :                     if (TREE_TYPE (_o2[0]) != utype)
    2294              :                       {
    2295         5014 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2296              :                       }
    2297              :                     else
    2298              :                       _r2 = _o2[0];
    2299         5014 :                     _o1[1] = _r2;
    2300              :                   }
    2301         5014 :                   _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2302         5014 :                   res_op0 = _r1;
    2303              :                 }
    2304         5014 :                 tree _r;
    2305         5014 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2306         5014 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 637, __FILE__, __LINE__, true);
    2307         5014 :                 return _r;
    2308              :               }
    2309            0 : next_after_fail775:;
    2310              :           }
    2311              :         }
    2312              :     }
    2313              :   else
    2314              :     {
    2315      8143316 :       if (FLOAT_TYPE_P (type)
    2316      8207992 :  && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    2317        32338 :  == DECIMAL_FLOAT_TYPE_P (type)
    2318              : )
    2319              :         {
    2320        32312 :           {
    2321        32312 :  tree arg0 = strip_float_extensions (captures[2]);
    2322        32312 :  tree arg1 = strip_float_extensions (captures[4]);
    2323        32312 :  tree itype = TREE_TYPE (captures[0]);
    2324        32312 :  tree ty1 = TREE_TYPE (arg0);
    2325        32312 :  tree ty2 = TREE_TYPE (arg1);
    2326        32312 :  enum tree_code code = TREE_CODE (itype);
    2327            0 :               if (FLOAT_TYPE_P (ty1)
    2328        32312 :  && FLOAT_TYPE_P (ty2)
    2329              : )
    2330              :                 {
    2331        32312 :                   {
    2332        32312 :  tree newtype = type;
    2333        32312 :  if (TYPE_MODE (ty1) == SDmode
    2334        32050 :  || TYPE_MODE (ty2) == SDmode
    2335        64362 :  || TYPE_MODE (type) == SDmode)
    2336          262 :  newtype = dfloat32_type_node;
    2337        32312 :  if (TYPE_MODE (ty1) == DDmode
    2338        32180 :  || TYPE_MODE (ty2) == DDmode
    2339        64365 :  || TYPE_MODE (type) == DDmode)
    2340          259 :  newtype = dfloat64_type_node;
    2341        32312 :  if (TYPE_MODE (ty1) == TDmode
    2342        32312 :  || TYPE_MODE (ty2) == TDmode
    2343        64372 :  || TYPE_MODE (type) == TDmode)
    2344          267 :  newtype = dfloat128_type_node;
    2345        32312 :                       if ((newtype == dfloat32_type_node
    2346        32312 :  || newtype == dfloat64_type_node
    2347        32185 :  || newtype == dfloat128_type_node)
    2348          394 :  && newtype == type
    2349        32318 :  && types_match (newtype, type)
    2350              : )
    2351              :                         {
    2352            6 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail776;
    2353            0 :                           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail776;
    2354            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail776;
    2355            0 :                           {
    2356            0 :                             tree res_op0;
    2357            0 :                             {
    2358            0 :                               tree _o1[1], _r1;
    2359            0 :                               _o1[0] = captures[2];
    2360            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2361              :                                 {
    2362            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2363              :                                 }
    2364              :                               else
    2365              :                                 _r1 = _o1[0];
    2366            0 :                               res_op0 = _r1;
    2367              :                             }
    2368            0 :                             tree res_op1;
    2369            0 :                             {
    2370            0 :                               tree _o1[1], _r1;
    2371            0 :                               _o1[0] = captures[4];
    2372            0 :                               if (TREE_TYPE (_o1[0]) != newtype)
    2373              :                                 {
    2374            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, newtype, _o1[0]);
    2375              :                                 }
    2376              :                               else
    2377              :                                 _r1 = _o1[0];
    2378            0 :                               res_op1 = _r1;
    2379              :                             }
    2380            0 :                             tree _r;
    2381            0 :                             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2382            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2383            0 :                             return _r;
    2384              :                           }
    2385              : next_after_fail776:;
    2386              :                         }
    2387              :                       else
    2388              :                         {
    2389        32306 :                           {
    2390        32306 :  if (element_precision (ty1) > element_precision (newtype))
    2391           14 :  newtype = ty1;
    2392        32306 :  if (element_precision (ty2) > element_precision (newtype))
    2393         4113 :  newtype = ty2;
    2394        32306 :                               if (element_precision (newtype) < element_precision (itype)
    2395        15435 :  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
    2396            0 :  || target_supports_op_p (newtype, op, optab_default))
    2397        15435 :  && (flag_unsafe_math_optimizations
    2398        15410 :  || (element_precision (newtype) == element_precision (type)
    2399        15386 :  && real_can_shorten_arithmetic (element_mode (itype),
    2400              :  element_mode (type))
    2401         6701 :  && !excess_precision_type (newtype)))
    2402        35577 :  && !types_match (itype, newtype)
    2403              : )
    2404              :                                 {
    2405         3271 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail777;
    2406         3270 :                                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail777;
    2407         3262 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail777;
    2408         3262 :                                   {
    2409         3262 :                                     tree res_op0;
    2410         3262 :                                     {
    2411         3262 :                                       tree _o1[2], _r1;
    2412         3262 :                                       {
    2413         3262 :                                         tree _o2[1], _r2;
    2414         3262 :                                         _o2[0] = captures[2];
    2415         3262 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2416              :                                           {
    2417            3 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2418              :                                           }
    2419              :                                         else
    2420              :                                           _r2 = _o2[0];
    2421         3262 :                                         _o1[0] = _r2;
    2422              :                                       }
    2423         3262 :                                       {
    2424         3262 :                                         tree _o2[1], _r2;
    2425         3262 :                                         _o2[0] = captures[4];
    2426         3262 :                                         if (TREE_TYPE (_o2[0]) != newtype)
    2427              :                                           {
    2428         3262 :                                             _r2 = fold_build1_loc (loc, NOP_EXPR, newtype, _o2[0]);
    2429              :                                           }
    2430              :                                         else
    2431              :                                           _r2 = _o2[0];
    2432         3262 :                                         _o1[1] = _r2;
    2433              :                                       }
    2434         3262 :                                       _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2435         3262 :                                       res_op0 = _r1;
    2436              :                                     }
    2437         3262 :                                     tree _r;
    2438         3262 :                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2439         3262 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
    2440         3262 :                                     return _r;
    2441              :                                   }
    2442              : next_after_fail777:;
    2443              :                                 }
    2444              :                           }
    2445              :                         }
    2446              :                   }
    2447              :                 }
    2448              :           }
    2449              :         }
    2450              :     }
    2451              :   return NULL_TREE;
    2452              : }
    2453              : 
    2454              : tree
    2455            2 : generic_simplify_467 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2456              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2457              : {
    2458            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2459            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail814;
    2460            2 :   {
    2461            2 :     tree res_op0;
    2462            2 :     {
    2463            2 :       tree _o1[2], _r1;
    2464            2 :       _o1[0] = captures[1];
    2465            2 :       _o1[1] = captures[2];
    2466            2 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2467            2 :       res_op0 = _r1;
    2468              :     }
    2469            2 :     tree _r;
    2470            2 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2471            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
    2472              :     return _r;
    2473              :   }
    2474            0 : next_after_fail814:;
    2475            0 :   return NULL_TREE;
    2476              : }
    2477              : 
    2478              : tree
    2479            8 : generic_simplify_473 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2480              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2481              :  const enum tree_code ARG_UNUSED (eqne))
    2482              : {
    2483            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2484            8 :   if (eqne == EQ_EXPR
    2485              : )
    2486              :     {
    2487            4 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail820;
    2488            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
    2489            4 :       {
    2490            4 :         tree _r;
    2491            4 :         _r =  constant_boolean_node (false, type);
    2492            4 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2493            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2494            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
    2495            4 :         return _r;
    2496              :       }
    2497              : next_after_fail820:;
    2498              :     }
    2499              :   else
    2500              :     {
    2501            4 :       if (eqne == NE_EXPR
    2502              : )
    2503              :         {
    2504            4 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail821;
    2505            4 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail821;
    2506            4 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail821;
    2507            4 :           {
    2508            4 :             tree _r;
    2509            4 :             _r = captures[0];
    2510            4 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2511            4 :             return _r;
    2512              :           }
    2513              : next_after_fail821:;
    2514              :         }
    2515              :     }
    2516              :   return NULL_TREE;
    2517              : }
    2518              : 
    2519              : tree
    2520            3 : generic_simplify_484 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2521              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2522              : {
    2523            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2524            6 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2525            6 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2526              : )
    2527              :     {
    2528            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail865;
    2529            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail865;
    2530            3 :       {
    2531            3 :         tree res_op0;
    2532            3 :         res_op0 = captures[3];
    2533            3 :         tree res_op1;
    2534            3 :         {
    2535            3 :           tree _o1[2], _r1;
    2536            3 :           _o1[0] = captures[1];
    2537            3 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
    2538            3 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2539            3 :           res_op1 = _r1;
    2540              :         }
    2541            3 :         tree _r;
    2542            3 :         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2543            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
    2544            3 :         return _r;
    2545              :       }
    2546              : next_after_fail865:;
    2547              :     }
    2548              :   return NULL_TREE;
    2549              : }
    2550              : 
    2551              : tree
    2552        32682 : generic_simplify_491 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2553              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2554              :  const enum tree_code ARG_UNUSED (shift))
    2555              : {
    2556        32682 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2557        32682 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2558        22380 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2559        22380 :  && tree_fits_uhwi_p (captures[4])
    2560        22380 :  && tree_to_uhwi (captures[4]) > 0
    2561        55062 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2562              : )
    2563              :     {
    2564        22380 :       {
    2565        22380 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2566        22380 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2567        22380 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2568        22380 :  tree shift_type = TREE_TYPE (captures[2]);
    2569        22380 :  unsigned int prec;
    2570        22380 :  if (shift == LSHIFT_EXPR)
    2571            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2572        22380 :  else if (shift == RSHIFT_EXPR
    2573        22380 :  && type_has_mode_precision_p (shift_type))
    2574              :  {
    2575        22380 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2576        22380 :  tree arg00 = captures[3];
    2577        22380 :  if (captures[2] != captures[3]
    2578        22380 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2579              :  {
    2580        21973 :  tree inner_type = TREE_TYPE (captures[3]);
    2581        21973 :  if (type_has_mode_precision_p (inner_type)
    2582        21973 :  && TYPE_PRECISION (inner_type) < prec)
    2583              :  {
    2584           34 :  prec = TYPE_PRECISION (inner_type);
    2585           34 :  if (shiftc < prec)
    2586           34 :  shift_type = inner_type;
    2587              :  }
    2588              :  }
    2589        22380 :  zerobits = HOST_WIDE_INT_M1U;
    2590        22380 :  if (shiftc < prec)
    2591              :  {
    2592        22380 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2593        22380 :  zerobits <<= prec - shiftc;
    2594              :  }
    2595        22380 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2596        22380 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2597              :  {
    2598           73 :  if ((mask & zerobits) == 0)
    2599           59 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2600              :  else
    2601              :  zerobits = 0;
    2602              :  }
    2603              :  }
    2604        22366 :           if ((mask & zerobits) == mask
    2605              : )
    2606              :             {
    2607            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail876;
    2608            0 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail876;
    2609            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail876;
    2610            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail876;
    2611            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
    2612            0 :               {
    2613            0 :                 tree _r;
    2614            0 :                 _r =  build_int_cst (type, 0);
    2615            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 694, __FILE__, __LINE__, true);
    2616            0 :                 return _r;
    2617              :               }
    2618              : next_after_fail876:;
    2619              :             }
    2620              :           else
    2621              :             {
    2622        22380 :               {
    2623        22380 :  newmask = mask | zerobits;
    2624        22380 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2625              : )
    2626              :                     {
    2627              :                       {
    2628           65 :  for (prec = BITS_PER_UNIT;
    2629          122 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2630          118 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2631              :  break;
    2632           57 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2633            4 :  || newmask == HOST_WIDE_INT_M1U
    2634              : )
    2635              :                             {
    2636           57 :                               {
    2637           57 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2638           57 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2639              : )
    2640              :                                     {
    2641           57 :                                       if (shift_type != TREE_TYPE (captures[2])
    2642              : )
    2643              :                                         {
    2644           47 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail877;
    2645           47 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail877;
    2646           47 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
    2647           47 :                                           {
    2648           47 :                                             tree res_op0;
    2649           47 :                                             {
    2650           47 :                                               tree _o1[1], _r1;
    2651           47 :                                               {
    2652           47 :                                                 tree _o2[2], _r2;
    2653           47 :                                                 {
    2654           47 :                                                   tree _o3[1], _r3;
    2655           47 :                                                   _o3[0] = captures[2];
    2656           47 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2657              :                                                     {
    2658           47 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2659              :                                                     }
    2660              :                                                   else
    2661              :                                                     _r3 = _o3[0];
    2662           47 :                                                   _o2[0] = _r3;
    2663              :                                                 }
    2664           47 :                                                 _o2[1] = captures[4];
    2665           47 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2666           47 :                                                 _o1[0] = _r2;
    2667              :                                               }
    2668           47 :                                               if (TREE_TYPE (_o1[0]) != type)
    2669              :                                                 {
    2670           47 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2671              :                                                 }
    2672              :                                               else
    2673              :                                                 _r1 = _o1[0];
    2674           47 :                                               res_op0 = _r1;
    2675              :                                             }
    2676           47 :                                             tree res_op1;
    2677           47 :                                             res_op1 =  newmaskt;
    2678           47 :                                             tree _r;
    2679           47 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2680           47 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 695, __FILE__, __LINE__, true);
    2681           47 :                                             return _r;
    2682              :                                           }
    2683              : next_after_fail877:;
    2684              :                                         }
    2685              :                                       else
    2686              :                                         {
    2687           10 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail878;
    2688           10 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail878;
    2689           10 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail878;
    2690           10 :                                           {
    2691           10 :                                             tree res_op0;
    2692           10 :                                             res_op0 = captures[0];
    2693           10 :                                             tree res_op1;
    2694           10 :                                             res_op1 =  newmaskt;
    2695           10 :                                             tree _r;
    2696           10 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2697           10 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2698           10 :                                             return _r;
    2699              :                                           }
    2700              : next_after_fail878:;
    2701              :                                         }
    2702              :                                     }
    2703              :                               }
    2704              :                             }
    2705              :                       }
    2706              :                     }
    2707              :               }
    2708              :             }
    2709              :       }
    2710              :     }
    2711              :   return NULL_TREE;
    2712              : }
    2713              : 
    2714              : tree
    2715          108 : generic_simplify_501 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2716              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2717              : {
    2718          108 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2719          108 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail892;
    2720          108 :   {
    2721          108 :     tree res_op0;
    2722          108 :     res_op0 = captures[1];
    2723          108 :     tree res_op1;
    2724          108 :     {
    2725          108 :       tree _o1[1], _r1;
    2726          108 :       _o1[0] = captures[2];
    2727          108 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2728          108 :       res_op1 = _r1;
    2729              :     }
    2730          108 :     tree _r;
    2731          108 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2732          108 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 706, __FILE__, __LINE__, true);
    2733              :     return _r;
    2734              :   }
    2735            0 : next_after_fail892:;
    2736            0 :   return NULL_TREE;
    2737              : }
    2738              : 
    2739              : tree
    2740            0 : generic_simplify_508 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2741              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2742              : {
    2743            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2744            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2745              : )
    2746              :     {
    2747            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail899;
    2748            0 :       {
    2749            0 :         tree res_op0;
    2750            0 :         {
    2751            0 :           tree _o1[2], _r1;
    2752            0 :           _o1[0] = captures[0];
    2753            0 :           _o1[1] = captures[1];
    2754            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2755            0 :           res_op0 = _r1;
    2756              :         }
    2757            0 :         tree _r;
    2758            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2759            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 713, __FILE__, __LINE__, true);
    2760            0 :         return _r;
    2761              :       }
    2762            0 : next_after_fail899:;
    2763              :     }
    2764              :   return NULL_TREE;
    2765              : }
    2766              : 
    2767              : tree
    2768        39333 : generic_simplify_514 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2769              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2770              : {
    2771        39333 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2772        39333 :   if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2773        39333 :  && !HONOR_SIGNED_ZEROS (type)
    2774              : )
    2775              :     {
    2776        39333 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail906;
    2777        39333 :       {
    2778        39333 :         tree res_op0;
    2779        39333 :         {
    2780        39333 :           tree _o1[1], _r1;
    2781        39333 :           _o1[0] = captures[1];
    2782        39333 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2783        39333 :           res_op0 = _r1;
    2784              :         }
    2785        39333 :         tree res_op1;
    2786        39333 :         res_op1 = captures[0];
    2787        39333 :         tree _r;
    2788        39333 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2789        39333 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 718, __FILE__, __LINE__, true);
    2790        39333 :         return _r;
    2791              :       }
    2792            0 : next_after_fail906:;
    2793              :     }
    2794              :   return NULL_TREE;
    2795              : }
    2796              : 
    2797              : tree
    2798           16 : generic_simplify_520 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2799              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2800              :  const combined_fn ARG_UNUSED (fmas))
    2801              : {
    2802           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2803           16 :   if (canonicalize_math_after_vectorization_p ()
    2804              : )
    2805              :     {
    2806              :       if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    2807              : )
    2808              :         {
    2809              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail913;
    2810              :           {
    2811              :             tree res_op0;
    2812              :             res_op0 = captures[1];
    2813              :             tree res_op1;
    2814              :             res_op1 = captures[2];
    2815              :             tree res_op2;
    2816              :             res_op2 = captures[3];
    2817              :             tree _r;
    2818              :             _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    2819              :             if (!_r)
    2820              :               goto next_after_fail913;
    2821              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 725, __FILE__, __LINE__, true);
    2822              :             return _r;
    2823              :           }
    2824           16 : next_after_fail913:;
    2825              :         }
    2826              :     }
    2827           16 :   return NULL_TREE;
    2828              : }
    2829              : 
    2830              : tree
    2831            0 : generic_simplify_532 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2832              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2833              :  const enum tree_code ARG_UNUSED (minmax),
    2834              :  const enum tree_code ARG_UNUSED (cmp))
    2835              : {
    2836            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2837            0 :   {
    2838            0 :  poly_int64 off0, off1;
    2839            0 :  tree base0, base1;
    2840            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2841              :  off0, off1,
    2842              : 1
    2843              : );
    2844            0 :       if (equal == 1
    2845              : )
    2846              :         {
    2847            0 :           if (minmax == MIN_EXPR
    2848              : )
    2849              :             {
    2850            0 :               if (known_le (off0, off1)
    2851              : )
    2852              :                 {
    2853            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail933;
    2854            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail933;
    2855            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail933;
    2856            0 :                   {
    2857            0 :                     tree _r;
    2858            0 :                     _r = captures[0];
    2859            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 736, __FILE__, __LINE__, true);
    2860            0 :                     return _r;
    2861              :                   }
    2862            0 : next_after_fail933:;
    2863              :                 }
    2864              :               else
    2865              :                 {
    2866            0 :                   if (known_gt (off0, off1)
    2867              : )
    2868              :                     {
    2869            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail934;
    2870            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail934;
    2871            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail934;
    2872            0 :                       {
    2873            0 :                         tree _r;
    2874            0 :                         _r = captures[2];
    2875            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
    2876            0 :                         return _r;
    2877              :                       }
    2878            0 : next_after_fail934:;
    2879              :                     }
    2880              :                 }
    2881              :             }
    2882              :           else
    2883              :             {
    2884            0 :               if (known_ge (off0, off1)
    2885              : )
    2886              :                 {
    2887            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail935;
    2888            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail935;
    2889            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail935;
    2890            0 :                   {
    2891            0 :                     tree _r;
    2892            0 :                     _r = captures[0];
    2893            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 738, __FILE__, __LINE__, true);
    2894            0 :                     return _r;
    2895              :                   }
    2896            0 : next_after_fail935:;
    2897              :                 }
    2898              :               else
    2899              :                 {
    2900            0 :                   if (known_lt (off0, off1)
    2901              : )
    2902              :                     {
    2903            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail936;
    2904            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail936;
    2905            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail936;
    2906            0 :                       {
    2907            0 :                         tree _r;
    2908            0 :                         _r = captures[2];
    2909            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
    2910            0 :                         return _r;
    2911              :                       }
    2912            0 : next_after_fail936:;
    2913              :                     }
    2914              :                 }
    2915              :             }
    2916              :         }
    2917              :   }
    2918            0 :   return NULL_TREE;
    2919              : }
    2920              : 
    2921              : tree
    2922            0 : generic_simplify_553 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2923              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2924              :  const combined_fn ARG_UNUSED (cond_len_op))
    2925              : {
    2926            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2927            0 :   {
    2928            0 :  tree op_type = TREE_TYPE (captures[4]);
    2929            0 :       if (element_precision (type) == element_precision (op_type)
    2930              : )
    2931              :         {
    2932            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail960;
    2933            0 :           {
    2934            0 :             tree res_op0;
    2935            0 :             {
    2936            0 :               tree _o1[7], _r1;
    2937            0 :               _o1[0] = captures[0];
    2938            0 :               _o1[1] = captures[1];
    2939            0 :               _o1[2] = captures[2];
    2940            0 :               _o1[3] = captures[3];
    2941            0 :               {
    2942            0 :                 tree _o2[1], _r2;
    2943            0 :                 _o2[0] = captures[7];
    2944            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2945              :                   {
    2946            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2947              :                   }
    2948              :                 else
    2949              :                   _r2 = _o2[0];
    2950            0 :                 _o1[4] = _r2;
    2951              :               }
    2952            0 :               _o1[5] = captures[5];
    2953            0 :               _o1[6] = captures[6];
    2954            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 7, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5], _o1[6]);
    2955            0 :               if (!_r1)
    2956            0 :                 goto next_after_fail960;
    2957            0 :               res_op0 = _r1;
    2958              :             }
    2959            0 :             tree _r;
    2960            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2961            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    2962            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2963            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 754, __FILE__, __LINE__, true);
    2964            0 :             return _r;
    2965              :           }
    2966              : next_after_fail960:;
    2967              :         }
    2968              :   }
    2969              :   return NULL_TREE;
    2970              : }
    2971              : 
    2972              : tree
    2973            0 : generic_simplify_565 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2974              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2975              :  const enum tree_code ARG_UNUSED (cmp))
    2976              : {
    2977            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2978            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail975;
    2979            0 :   {
    2980            0 :     tree res_op0;
    2981            0 :     res_op0 = unshare_expr (captures[0]);
    2982            0 :     tree res_op1;
    2983            0 :     res_op1 = captures[0];
    2984            0 :     tree _r;
    2985            0 :     _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
    2986            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
    2987              :     return _r;
    2988              :   }
    2989            0 : next_after_fail975:;
    2990            0 :   return NULL_TREE;
    2991              : }
    2992              : 
    2993              : tree
    2994            0 : generic_simplify_571 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2995              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2996              :  const combined_fn ARG_UNUSED (logs),
    2997              :  const combined_fn ARG_UNUSED (pows))
    2998              : {
    2999            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3000            0 :   if (flag_unsafe_math_optimizations
    3001              : )
    3002              :     {
    3003            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail981;
    3004            0 :       {
    3005            0 :         tree res_op0;
    3006            0 :         res_op0 = captures[1];
    3007            0 :         tree res_op1;
    3008            0 :         {
    3009            0 :           tree _o1[1], _r1;
    3010            0 :           _o1[0] = captures[0];
    3011            0 :           _r1 = maybe_build_call_expr_loc (loc, logs, TREE_TYPE (_o1[0]), 1, _o1[0]);
    3012            0 :           if (!_r1)
    3013            0 :             goto next_after_fail981;
    3014            0 :           res_op1 = _r1;
    3015              :         }
    3016            0 :         tree _r;
    3017            0 :         _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    3018            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    3019            0 :         return _r;
    3020              :       }
    3021              : next_after_fail981:;
    3022              :     }
    3023              :   return NULL_TREE;
    3024              : }
    3025              : 
    3026              : tree
    3027            0 : generic_simplify_579 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3028              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3029              :  const combined_fn ARG_UNUSED (floors),
    3030              :  const combined_fn ARG_UNUSED (truncs))
    3031              : {
    3032            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3033            0 :   if (canonicalize_math_p ()
    3034              : )
    3035              :     {
    3036            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail989;
    3037            0 :       {
    3038            0 :         tree res_op0;
    3039            0 :         res_op0 = captures[0];
    3040            0 :         tree _r;
    3041            0 :         _r = maybe_build_call_expr_loc (loc, truncs, type, 1, res_op0);
    3042            0 :         if (!_r)
    3043            0 :           goto next_after_fail989;
    3044            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 783, __FILE__, __LINE__, true);
    3045            0 :         return _r;
    3046              :       }
    3047              : next_after_fail989:;
    3048              :     }
    3049              :   return NULL_TREE;
    3050              : }
    3051              : 
    3052              : tree
    3053            0 : generic_simplify_584 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3054              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3055              :  const combined_fn ARG_UNUSED (floors))
    3056              : {
    3057            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3058            0 :   if (canonicalize_math_p ()
    3059              : )
    3060              :     {
    3061            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
    3062            0 :       {
    3063            0 :         tree res_op0;
    3064            0 :         res_op0 = captures[0];
    3065            0 :         tree _r;
    3066            0 :         _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
    3067            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 788, __FILE__, __LINE__, true);
    3068            0 :         return _r;
    3069              :       }
    3070            0 : next_after_fail994:;
    3071              :     }
    3072              :   return NULL_TREE;
    3073              : }
    3074              : 
    3075              : tree
    3076            0 : generic_simplify_593 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3077              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    3078              :  const combined_fn ARG_UNUSED (fmas))
    3079              : {
    3080            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3081            0 :   if (canonicalize_math_after_vectorization_p ()
    3082              : )
    3083              :     {
    3084              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1003;
    3085              :       {
    3086              :         tree res_op0;
    3087              :         res_op0 = captures[0];
    3088              :         tree res_op1;
    3089              :         res_op1 = captures[1];
    3090              :         tree res_op2;
    3091              :         res_op2 = captures[2];
    3092              :         tree _r;
    3093              :         _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3094              :         if (!_r)
    3095              :           goto next_after_fail1003;
    3096              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 797, __FILE__, __LINE__, true);
    3097              :         return _r;
    3098              :       }
    3099            0 : next_after_fail1003:;
    3100              :     }
    3101            0 :   return NULL_TREE;
    3102              : }
    3103              : 
    3104              : tree
    3105            0 : generic_simplify_602 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3106              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3107              :  const combined_fn ARG_UNUSED (fmas))
    3108              : {
    3109            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3110            0 :   if (canonicalize_math_after_vectorization_p ()
    3111              : )
    3112              :     {
    3113              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1012;
    3114              :       {
    3115              :         tree res_op0;
    3116              :         res_op0 = captures[0];
    3117              :         tree res_op1;
    3118              :         res_op1 = captures[1];
    3119              :         tree res_op2;
    3120              :         res_op2 = captures[2];
    3121              :         tree res_op3;
    3122              :         res_op3 = captures[3];
    3123              :         tree res_op4;
    3124              :         res_op4 = captures[4];
    3125              :         tree _r;
    3126              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3127              :         if (!_r)
    3128              :           goto next_after_fail1012;
    3129              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 806, __FILE__, __LINE__, true);
    3130              :         return _r;
    3131              :       }
    3132            0 : next_after_fail1012:;
    3133              :     }
    3134            0 :   return NULL_TREE;
    3135              : }
    3136              : 
    3137              : tree
    3138            0 : generic_simplify_612 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3139              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3140              :  const combined_fn ARG_UNUSED (ctz))
    3141              : {
    3142            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3143            0 :   {
    3144            0 :  tree t = TREE_TYPE (captures[0]);
    3145            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1022;
    3146            0 :       {
    3147            0 :         tree res_op0;
    3148            0 :         {
    3149            0 :           tree _o1[1], _r1;
    3150            0 :           _o1[0] = captures[1];
    3151            0 :           if (TREE_TYPE (_o1[0]) != t)
    3152              :             {
    3153            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3154              :             }
    3155              :           else
    3156              :             _r1 = _o1[0];
    3157            0 :           res_op0 = _r1;
    3158              :         }
    3159            0 :         tree _r;
    3160            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3161            0 :         if (!_r)
    3162            0 :           goto next_after_fail1022;
    3163            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 813, __FILE__, __LINE__, true);
    3164              :         return _r;
    3165              :       }
    3166              : next_after_fail1022:;
    3167              :   }
    3168              :   return NULL_TREE;
    3169              : }
    3170              : 
    3171              : tree
    3172            0 : generic_simplify_622 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3173              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3174              :  const combined_fn ARG_UNUSED (bswap),
    3175              :  const combined_fn ARG_UNUSED (parity))
    3176              : {
    3177            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3178            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3179            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3180            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3181            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3182              : )
    3183              :     {
    3184            0 :       {
    3185            0 :  tree type0 = TREE_TYPE (captures[0]);
    3186            0 :  tree type1 = TREE_TYPE (captures[1]);
    3187            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1033;
    3188            0 :           {
    3189            0 :             tree res_op0;
    3190            0 :             {
    3191            0 :               tree _o1[1], _r1;
    3192            0 :               {
    3193            0 :                 tree _o2[1], _r2;
    3194            0 :                 _o2[0] = captures[2];
    3195            0 :                 if (TREE_TYPE (_o2[0]) != type1)
    3196              :                   {
    3197            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, type1, _o2[0]);
    3198              :                   }
    3199              :                 else
    3200              :                   _r2 = _o2[0];
    3201            0 :                 _o1[0] = _r2;
    3202              :               }
    3203            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3204              :                 {
    3205            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3206              :                 }
    3207              :               else
    3208              :                 _r1 = _o1[0];
    3209            0 :               res_op0 = _r1;
    3210              :             }
    3211            0 :             tree _r;
    3212            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3213            0 :             if (!_r)
    3214            0 :               goto next_after_fail1033;
    3215            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 820, __FILE__, __LINE__, true);
    3216            0 :             return _r;
    3217              :           }
    3218              : next_after_fail1033:;
    3219              :       }
    3220              :     }
    3221              :   return NULL_TREE;
    3222              : }
    3223              : 
    3224              : tree
    3225      4343318 : generic_simplify_NEGATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3226              : {
    3227      4343318 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3228      4343318 :   switch (TREE_CODE (_p0))
    3229              :     {
    3230        42133 :     case PLUS_EXPR:
    3231        42133 :       {
    3232        42133 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3233        42133 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3234        42133 :         if (tree_negate_expr_p (_q21))
    3235              :           {
    3236        39316 :             {
    3237        39316 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3238        39316 :               tree res = generic_simplify_514 (loc, type, _p0, captures);
    3239        39316 :               if (res) return res;
    3240              :             }
    3241              :           }
    3242         2817 :         if (tree_negate_expr_p (_q20))
    3243              :           {
    3244           17 :             {
    3245           17 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    3246           17 :               tree res = generic_simplify_514 (loc, type, _p0, captures);
    3247           17 :               if (res) return res;
    3248              :             }
    3249              :           }
    3250              :         break;
    3251              :       }
    3252       106890 :     case MINUS_EXPR:
    3253       106890 :       {
    3254       106890 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3255       106890 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3256       106890 :         {
    3257       106890 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3258       106890 :           if ((ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type))
    3259       181649 :  || (FLOAT_TYPE_P (type)
    3260        74759 :  && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3261        74759 :  && !HONOR_SIGNED_ZEROS (type))
    3262              : )
    3263              :             {
    3264        32188 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1080;
    3265        32188 :               {
    3266        32188 :                 tree res_op0;
    3267        32188 :                 res_op0 = captures[1];
    3268        32188 :                 tree res_op1;
    3269        32188 :                 res_op1 = captures[0];
    3270        32188 :                 tree _r;
    3271        32188 :                 _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    3272        32188 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3273        32188 :                 return _r;
    3274              :               }
    3275            0 : next_after_fail1080:;
    3276              :             }
    3277              :         }
    3278        74702 :         break;
    3279              :       }
    3280           16 :     case POINTER_DIFF_EXPR:
    3281           16 :       {
    3282           16 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3283           16 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3284           16 :         {
    3285           16 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3286           16 :           tree res = generic_simplify_515 (loc, type, _p0, captures);
    3287           16 :           if (res) return res;
    3288              :         }
    3289            0 :         break;
    3290              :       }
    3291         6539 :     case MULT_EXPR:
    3292         6539 :       {
    3293         6539 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3294         6539 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3295         6539 :         if (tree_negate_expr_p (_q21))
    3296              :           {
    3297         2415 :             {
    3298         2415 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3299         2415 :               tree res = generic_simplify_518 (loc, type, _p0, captures);
    3300         2415 :               if (res) return res;
    3301              :             }
    3302              :           }
    3303         4516 :         if (tree_negate_expr_p (_q20))
    3304              :           {
    3305           28 :             {
    3306           28 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    3307           28 :               tree res = generic_simplify_518 (loc, type, _p0, captures);
    3308           28 :               if (res) return res;
    3309              :             }
    3310              :           }
    3311              :         break;
    3312              :       }
    3313          188 :     case RDIV_EXPR:
    3314          188 :       {
    3315          188 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3316          188 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3317          188 :         if (tree_negate_expr_p (_q21))
    3318              :           {
    3319           60 :             {
    3320           60 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3321           60 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3322           60 :  && single_use (captures[0])
    3323              : )
    3324              :                 {
    3325           60 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1081;
    3326           60 :                   {
    3327           60 :                     tree res_op0;
    3328           60 :                     res_op0 = captures[1];
    3329           60 :                     tree res_op1;
    3330           60 :                     {
    3331           60 :                       tree _o1[1], _r1;
    3332           60 :                       _o1[0] = captures[2];
    3333           60 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3334           60 :                       res_op1 = _r1;
    3335              :                     }
    3336           60 :                     tree _r;
    3337           60 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3338           60 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    3339           60 :                     return _r;
    3340              :                   }
    3341            0 : next_after_fail1081:;
    3342              :                 }
    3343              :             }
    3344              :           }
    3345          128 :         if (tree_negate_expr_p (_q20))
    3346              :           {
    3347            0 :             {
    3348            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3349            0 :               if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
    3350            0 :  && single_use (captures[0])
    3351              : )
    3352              :                 {
    3353            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1082;
    3354            0 :                   {
    3355            0 :                     tree res_op0;
    3356            0 :                     {
    3357            0 :                       tree _o1[1], _r1;
    3358            0 :                       _o1[0] = captures[1];
    3359            0 :                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3360            0 :                       res_op0 = _r1;
    3361              :                     }
    3362            0 :                     tree res_op1;
    3363            0 :                     res_op1 = captures[2];
    3364            0 :                     tree _r;
    3365            0 :                     _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    3366            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3367            0 :                     return _r;
    3368              :                   }
    3369            0 : next_after_fail1082:;
    3370              :                 }
    3371              :             }
    3372              :           }
    3373              :         break;
    3374              :       }
    3375      1461469 :     CASE_CONVERT:
    3376      1461469 :       {
    3377      1461469 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3378      1461469 :         switch (TREE_CODE (_q20))
    3379              :           {
    3380           58 :           case RSHIFT_EXPR:
    3381           58 :             {
    3382           58 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3383           58 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3384           58 :               switch (TREE_CODE (_q31))
    3385              :                 {
    3386           43 :                 case INTEGER_CST:
    3387           43 :                   {
    3388           43 :                     {
    3389           43 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3390           43 :                       tree res = generic_simplify_519 (loc, type, _p0, captures);
    3391           43 :                       if (res) return res;
    3392              :                     }
    3393           36 :                     break;
    3394              :                   }
    3395              :                 default:;
    3396              :                 }
    3397              :               break;
    3398              :             }
    3399          209 :           case NEGATE_EXPR:
    3400          209 :             {
    3401          209 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3402          209 :               {
    3403          209 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3404          209 :                 if (!TYPE_SATURATING (type)
    3405              : )
    3406              :                   {
    3407          209 :                     if (INTEGRAL_TYPE_P (type)
    3408          209 :  && (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
    3409           19 :  || (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    3410           36 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    3411          208 :  && !TYPE_OVERFLOW_SANITIZED (type)
    3412          435 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    3413              : )
    3414              :                       {
    3415          208 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
    3416          208 :                         {
    3417          208 :                           tree res_op0;
    3418          208 :                           res_op0 = captures[0];
    3419          208 :                           tree _r;
    3420          208 :                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3421          208 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3422          208 :                           return _r;
    3423              :                         }
    3424            0 : next_after_fail1083:;
    3425              :                       }
    3426              :                   }
    3427              :               }
    3428              :               break;
    3429              :             }
    3430      1461254 :           default:;
    3431              :           }
    3432      1461254 :       {
    3433      1461254 :         tree _q20_pops[1];
    3434      1461254 :         if (tree_logical_inverted_value (_q20, _q20_pops))
    3435              :           {
    3436            1 :             tree _q30 = _q20_pops[0];
    3437            1 :             {
    3438            1 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
    3439            1 :               if (INTEGRAL_TYPE_P (type)
    3440            1 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3441            1 :  && TYPE_PRECISION (type) > 1
    3442            1 :  && TREE_CODE (captures[2]) == SSA_NAME
    3443            1 :  && ssa_name_has_boolean_range (captures[2])
    3444              : )
    3445              :                 {
    3446            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3447            0 :                   {
    3448            0 :                     tree res_op0;
    3449            0 :                     {
    3450            0 :                       tree _o1[1], _r1;
    3451            0 :                       _o1[0] = captures[2];
    3452            0 :                       if (TREE_TYPE (_o1[0]) != type)
    3453              :                         {
    3454            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3455              :                         }
    3456              :                       else
    3457              :                         _r1 = _o1[0];
    3458            0 :                       res_op0 = _r1;
    3459              :                     }
    3460            0 :                     tree res_op1;
    3461            0 :                     res_op1 =  build_all_ones_cst (type);
    3462            0 :                     tree _r;
    3463            0 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3464            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3465            0 :                     return _r;
    3466              :                   }
    3467            0 : next_after_fail1084:;
    3468              :                 }
    3469              :             }
    3470              :           }
    3471              :       }
    3472      1461254 :       if (tree_negate_expr_p (_q20))
    3473              :         {
    3474         1700 :           {
    3475         1700 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3476         1700 :             if (!TYPE_SATURATING (type)
    3477              : )
    3478              :               {
    3479         1700 :                 if (SCALAR_FLOAT_TYPE_P (type)
    3480         1700 :  && ((DECIMAL_FLOAT_TYPE_P (type)
    3481            0 :  == DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    3482            0 :  && TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (captures[0])))
    3483            0 :  || !HONOR_SIGN_DEPENDENT_ROUNDING (type))
    3484              : )
    3485              :                   {
    3486            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3487            0 :                     {
    3488            0 :                       tree res_op0;
    3489            0 :                       {
    3490            0 :                         tree _o1[1], _r1;
    3491            0 :                         _o1[0] = captures[0];
    3492            0 :                         _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3493            0 :                         res_op0 = _r1;
    3494              :                       }
    3495            0 :                       tree _r;
    3496            0 :                       _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3497            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3498            0 :                       return _r;
    3499              :                     }
    3500            0 : next_after_fail1085:;
    3501              :                   }
    3502              :               }
    3503              :           }
    3504              :         }
    3505              :         break;
    3506              :       }
    3507          384 :     case RSHIFT_EXPR:
    3508          384 :       {
    3509          384 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3510          384 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3511          384 :         switch (TREE_CODE (_q21))
    3512              :           {
    3513          366 :           case INTEGER_CST:
    3514          366 :             {
    3515          366 :               {
    3516          366 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3517          366 :                 tree res = generic_simplify_519 (loc, type, _p0, captures);
    3518          366 :                 if (res) return res;
    3519              :               }
    3520          329 :               break;
    3521              :             }
    3522              :           default:;
    3523              :           }
    3524              :         break;
    3525              :       }
    3526          147 :     case BIT_NOT_EXPR:
    3527          147 :       {
    3528          147 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3529          147 :         {
    3530          147 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3531          147 :           tree res = generic_simplify_516 (loc, type, _p0, captures);
    3532          147 :           if (res) return res;
    3533              :         }
    3534            0 :         break;
    3535              :       }
    3536         3799 :     case NEGATE_EXPR:
    3537         3799 :       {
    3538         3799 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3539         3799 :         {
    3540         3799 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3541         3799 :           tree res = generic_simplify_517 (loc, type, _p0, captures);
    3542         3799 :           if (res) return res;
    3543              :         }
    3544           13 :         break;
    3545              :       }
    3546           72 :     case VEC_COND_EXPR:
    3547           72 :       {
    3548           72 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3549           72 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3550           72 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3551           72 :         {
    3552           72 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3553           72 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3554           72 :           {
    3555           72 :             tree res_op0;
    3556           72 :             res_op0 = captures[1];
    3557           72 :             tree res_op1;
    3558           72 :             {
    3559           72 :               tree _o1[1], _r1;
    3560           72 :               _o1[0] = captures[2];
    3561           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3562           72 :               if (EXPR_P (_r1))
    3563            0 :                 goto next_after_fail1086;
    3564           72 :               res_op1 = _r1;
    3565              :             }
    3566           72 :             tree res_op2;
    3567           72 :             {
    3568           72 :               tree _o1[1], _r1;
    3569           72 :               _o1[0] = captures[3];
    3570           72 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, type, _o1[0]);
    3571           72 :               if (EXPR_P (_r1))
    3572            0 :                 goto next_after_fail1086;
    3573           72 :               res_op2 = _r1;
    3574              :             }
    3575           72 :             tree _r;
    3576           72 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3577           72 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 830, __FILE__, __LINE__, true);
    3578           72 :             return _r;
    3579              :           }
    3580            0 : next_after_fail1086:;
    3581              :         }
    3582            0 :         break;
    3583              :       }
    3584       266640 :     case CALL_EXPR:
    3585       266640 :       switch (get_call_combined_fn (_p0))
    3586              :         {
    3587           12 :         case CFN_BUILT_IN_FMA:
    3588           12 :           if (call_expr_nargs (_p0) == 3)
    3589              :     {
    3590           12 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3591           12 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3592           12 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3593           12 :               {
    3594           12 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3595           12 :                 tree res = generic_simplify_520 (loc, type, _p0, captures, CFN_BUILT_IN_FMA);
    3596           12 :                 if (res) return res;
    3597              :               }
    3598              :             }
    3599              :           break;
    3600            0 :         case CFN_COND_FMA:
    3601            0 :           if (call_expr_nargs (_p0) == 5)
    3602              :     {
    3603            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3604            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3605            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3606            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3607            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3608            0 :               {
    3609            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3610            0 :                 const combined_fn fmas = CFN_COND_FMA;
    3611            0 :                 if (canonicalize_math_after_vectorization_p ()
    3612              : )
    3613              :                   {
    3614              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3615              : )
    3616              :                       {
    3617              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    3618              :                         {
    3619              :                           tree res_op0;
    3620              :                           res_op0 = captures[1];
    3621              :                           tree res_op1;
    3622              :                           res_op1 = captures[2];
    3623              :                           tree res_op2;
    3624              :                           res_op2 = captures[3];
    3625              :                           tree res_op3;
    3626              :                           res_op3 = captures[4];
    3627              :                           tree res_op4;
    3628              :                           res_op4 = captures[5];
    3629              :                           tree _r;
    3630              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3631              :                           if (!_r)
    3632              :                             goto next_after_fail1087;
    3633              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3634              :                           return _r;
    3635              :                         }
    3636            0 : next_after_fail1087:;
    3637              :                       }
    3638              :                   }
    3639              :               }
    3640              :             }
    3641              :           break;
    3642            4 :         case CFN_BUILT_IN_FMAF:
    3643            4 :           if (call_expr_nargs (_p0) == 3)
    3644              :     {
    3645            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3646            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3647            4 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3648            4 :               {
    3649            4 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3650            4 :                 tree res = generic_simplify_520 (loc, type, _p0, captures, CFN_BUILT_IN_FMAF);
    3651            4 :                 if (res) return res;
    3652              :               }
    3653              :             }
    3654              :           break;
    3655            0 :         case CFN_BUILT_IN_FMAL:
    3656            0 :           if (call_expr_nargs (_p0) == 3)
    3657              :     {
    3658            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3659            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3660            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3661            0 :               {
    3662            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3663            0 :                 tree res = generic_simplify_520 (loc, type, _p0, captures, CFN_BUILT_IN_FMAL);
    3664            0 :                 if (res) return res;
    3665              :               }
    3666              :             }
    3667              :           break;
    3668            0 :         case CFN_FMA:
    3669            0 :           if (call_expr_nargs (_p0) == 3)
    3670              :     {
    3671            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3672            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3673            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3674            0 :               {
    3675            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3676            0 :                 tree res = generic_simplify_520 (loc, type, _p0, captures, CFN_FMA);
    3677            0 :                 if (res) return res;
    3678              :               }
    3679              :             }
    3680              :           break;
    3681            0 :         case CFN_FMS:
    3682            0 :           if (call_expr_nargs (_p0) == 3)
    3683              :     {
    3684            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3685            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3686            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3687            0 :               {
    3688            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3689            0 :                 if (canonicalize_math_after_vectorization_p ()
    3690              : )
    3691              :                   {
    3692              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3693              : )
    3694              :                       {
    3695              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
    3696              :                         {
    3697              :                           tree res_op0;
    3698              :                           res_op0 = captures[1];
    3699              :                           tree res_op1;
    3700              :                           res_op1 = captures[2];
    3701              :                           tree res_op2;
    3702              :                           res_op2 = captures[3];
    3703              :                           tree _r;
    3704              :                           _r = maybe_build_call_expr_loc (loc, CFN_FNMA, type, 3, res_op0, res_op1, res_op2);
    3705              :                           if (!_r)
    3706              :                             goto next_after_fail1088;
    3707              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 865, __FILE__, __LINE__, true);
    3708              :                           return _r;
    3709              :                         }
    3710            0 : next_after_fail1088:;
    3711              :                       }
    3712              :                   }
    3713              :               }
    3714              :             }
    3715            0 :           if (call_expr_nargs (_p0) == 5)
    3716              :     {
    3717            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3718            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3719            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3720            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3721            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3722            0 :               {
    3723            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3724            0 :                 if (canonicalize_math_after_vectorization_p ()
    3725              : )
    3726              :                   {
    3727              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3728              : )
    3729              :                       {
    3730              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
    3731              :                         {
    3732              :                           tree res_op0;
    3733              :                           res_op0 = captures[1];
    3734              :                           tree res_op1;
    3735              :                           res_op1 = captures[2];
    3736              :                           tree res_op2;
    3737              :                           res_op2 = captures[3];
    3738              :                           tree res_op3;
    3739              :                           res_op3 = captures[4];
    3740              :                           tree res_op4;
    3741              :                           res_op4 = captures[5];
    3742              :                           tree _r;
    3743              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3744              :                           if (!_r)
    3745              :                             goto next_after_fail1089;
    3746              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
    3747              :                           return _r;
    3748              :                         }
    3749            0 : next_after_fail1089:;
    3750              :                       }
    3751              :                   }
    3752              :               }
    3753              :             }
    3754              :           break;
    3755            0 :         case CFN_COND_FNMA:
    3756            0 :           if (call_expr_nargs (_p0) == 5)
    3757              :     {
    3758            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3759            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3760            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3761            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3762            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3763            0 :               {
    3764            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3765            0 :                 if (canonicalize_math_after_vectorization_p ()
    3766              : )
    3767              :                   {
    3768              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3769              : )
    3770              :                       {
    3771              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
    3772              :                         {
    3773              :                           tree res_op0;
    3774              :                           res_op0 = captures[1];
    3775              :                           tree res_op1;
    3776              :                           res_op1 = captures[2];
    3777              :                           tree res_op2;
    3778              :                           res_op2 = captures[3];
    3779              :                           tree res_op3;
    3780              :                           res_op3 = captures[4];
    3781              :                           tree res_op4;
    3782              :                           res_op4 = captures[5];
    3783              :                           tree _r;
    3784              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3785              :                           if (!_r)
    3786              :                             goto next_after_fail1090;
    3787              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 867, __FILE__, __LINE__, true);
    3788              :                           return _r;
    3789              :                         }
    3790            0 : next_after_fail1090:;
    3791              :                       }
    3792              :                   }
    3793              :               }
    3794              :             }
    3795              :           break;
    3796            0 :         case CFN_COND_FNMS:
    3797            0 :           if (call_expr_nargs (_p0) == 5)
    3798              :     {
    3799            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3800            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3801            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3802            0 :               tree _q23 = CALL_EXPR_ARG (_p0, 3);
    3803            0 :               tree _q24 = CALL_EXPR_ARG (_p0, 4);
    3804            0 :               {
    3805            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _q23, _q24 };
    3806            0 :                 if (canonicalize_math_after_vectorization_p ()
    3807              : )
    3808              :                   {
    3809              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3810              : )
    3811              :                       {
    3812              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
    3813              :                         {
    3814              :                           tree res_op0;
    3815              :                           res_op0 = captures[1];
    3816              :                           tree res_op1;
    3817              :                           res_op1 = captures[2];
    3818              :                           tree res_op2;
    3819              :                           res_op2 = captures[3];
    3820              :                           tree res_op3;
    3821              :                           res_op3 = captures[4];
    3822              :                           tree res_op4;
    3823              :                           res_op4 = captures[5];
    3824              :                           tree _r;
    3825              :                           _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3826              :                           if (!_r)
    3827              :                             goto next_after_fail1091;
    3828              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 868, __FILE__, __LINE__, true);
    3829              :                           return _r;
    3830              :                         }
    3831            0 : next_after_fail1091:;
    3832              :                       }
    3833              :                   }
    3834              :               }
    3835              :             }
    3836              :           break;
    3837            0 :         case CFN_FNMA:
    3838            0 :           if (call_expr_nargs (_p0) == 3)
    3839              :     {
    3840            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3841            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3842            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3843            0 :               {
    3844            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3845            0 :                 if (canonicalize_math_after_vectorization_p ()
    3846              : )
    3847              :                   {
    3848              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3849              : )
    3850              :                       {
    3851              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
    3852              :                         {
    3853              :                           tree res_op0;
    3854              :                           res_op0 = captures[1];
    3855              :                           tree res_op1;
    3856              :                           res_op1 = captures[2];
    3857              :                           tree res_op2;
    3858              :                           res_op2 = captures[3];
    3859              :                           tree _r;
    3860              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
    3861              :                           if (!_r)
    3862              :                             goto next_after_fail1092;
    3863              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
    3864              :                           return _r;
    3865              :                         }
    3866            0 : next_after_fail1092:;
    3867              :                       }
    3868              :                   }
    3869              :               }
    3870              :             }
    3871              :           break;
    3872            0 :         case CFN_FNMS:
    3873            0 :           if (call_expr_nargs (_p0) == 3)
    3874              :     {
    3875            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    3876            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    3877            0 :               tree _q22 = CALL_EXPR_ARG (_p0, 2);
    3878            0 :               {
    3879            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3880            0 :                 if (canonicalize_math_after_vectorization_p ()
    3881              : )
    3882              :                   {
    3883              :                     if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    3884              : )
    3885              :                       {
    3886              :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1093;
    3887              :                         {
    3888              :                           tree res_op0;
    3889              :                           res_op0 = captures[1];
    3890              :                           tree res_op1;
    3891              :                           res_op1 = captures[2];
    3892              :                           tree res_op2;
    3893              :                           res_op2 = captures[3];
    3894              :                           tree _r;
    3895              :                           _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3896              :                           if (!_r)
    3897              :                             goto next_after_fail1093;
    3898              :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
    3899              :                           return _r;
    3900              :                         }
    3901            0 : next_after_fail1093:;
    3902              :                       }
    3903              :                   }
    3904              :               }
    3905              :             }
    3906              :           break;
    3907              :         default:;
    3908              :         }
    3909              :       break;
    3910      4265413 :     default:;
    3911              :     }
    3912      4265413 : {
    3913      4265413 :   tree _p0_pops[1];
    3914      4265413 :   if (tree_nop_convert (_p0, _p0_pops))
    3915              :     {
    3916      1674901 :       tree _q20 = _p0_pops[0];
    3917      1674901 :       switch (TREE_CODE (_q20))
    3918              :         {
    3919            0 :         case POINTER_DIFF_EXPR:
    3920            0 :           {
    3921            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3922            0 :             tree _q31 = TREE_OPERAND (_q20, 1);
    3923            0 :             {
    3924            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    3925            0 :               tree res = generic_simplify_515 (loc, type, _p0, captures);
    3926            0 :               if (res) return res;
    3927              :             }
    3928            0 :             break;
    3929              :           }
    3930            0 :         case BIT_NOT_EXPR:
    3931            0 :           {
    3932            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3933            0 :             {
    3934            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3935            0 :               tree res = generic_simplify_516 (loc, type, _p0, captures);
    3936            0 :               if (res) return res;
    3937              :             }
    3938            0 :             break;
    3939              :           }
    3940            0 :         case NEGATE_EXPR:
    3941            0 :           {
    3942            0 :             tree _q30 = TREE_OPERAND (_q20, 0);
    3943            0 :             {
    3944            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3945            0 :               tree res = generic_simplify_517 (loc, type, _p0, captures);
    3946            0 :               if (res) return res;
    3947              :             }
    3948            0 :             break;
    3949              :           }
    3950              :         default:;
    3951              :         }
    3952              :     }
    3953              : }
    3954      4265413 : {
    3955      4265413 :   tree _p0_pops[1];
    3956      4265413 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    3957              :     {
    3958           70 :       tree _q20 = _p0_pops[0];
    3959           70 :       {
    3960           70 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
    3961           70 :         if (INTEGRAL_TYPE_P (type)
    3962           70 :  && TREE_CODE (type) != BOOLEAN_TYPE
    3963           70 :  && TYPE_PRECISION (type) > 1
    3964           70 :  && TREE_CODE (captures[2]) == SSA_NAME
    3965           70 :  && ssa_name_has_boolean_range (captures[2])
    3966              : )
    3967              :           {
    3968            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
    3969            0 :             {
    3970            0 :               tree res_op0;
    3971            0 :               {
    3972            0 :                 tree _o1[1], _r1;
    3973            0 :                 _o1[0] = captures[2];
    3974            0 :                 if (TREE_TYPE (_o1[0]) != type)
    3975              :                   {
    3976            0 :                     _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    3977              :                   }
    3978              :                 else
    3979              :                   _r1 = _o1[0];
    3980            0 :                 res_op0 = _r1;
    3981              :               }
    3982            0 :               tree res_op1;
    3983            0 :               res_op1 =  build_all_ones_cst (type);
    3984            0 :               tree _r;
    3985            0 :               _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3986            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3987            0 :               return _r;
    3988              :             }
    3989            0 : next_after_fail1094:;
    3990              :           }
    3991              :       }
    3992              :     }
    3993              : }
    3994      4265413 :   {
    3995      4265413 :     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    3996      4265413 :     tree res = generic_simplify_439 (loc, type, _p0, captures);
    3997      4265413 :     if (res) return res;
    3998              :   }
    3999      4251365 :   return NULL_TREE;
    4000              : }
    4001              : 
    4002              : tree
    4003     26743476 : generic_simplify_EQ_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4004              : {
    4005     26743476 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4006     26743476 :   switch (TREE_CODE (_p1))
    4007              :     {
    4008           68 :     case NEGATE_EXPR:
    4009           68 :       {
    4010           68 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4011           68 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4012              :           {
    4013            0 :             {
    4014            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4015            0 :               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4016            0 :               if (res) return res;
    4017              :             }
    4018              :           }
    4019              :         break;
    4020              :       }
    4021     26743476 :     default:;
    4022              :     }
    4023     26743476 :   switch (TREE_CODE (_p0))
    4024              :     {
    4025         1038 :     case NEGATE_EXPR:
    4026         1038 :       {
    4027         1038 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4028         1038 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4029              :           {
    4030           83 :             {
    4031           83 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4032           83 :               tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4033           83 :               if (res) return res;
    4034              :             }
    4035              :           }
    4036              :         break;
    4037              :       }
    4038            0 :     case CEIL_MOD_EXPR:
    4039            0 :       {
    4040            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4041            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4042            0 :         if (integer_pow2p (_q21))
    4043              :           {
    4044            0 :             if (integer_zerop (_p1))
    4045              :               {
    4046            0 :                 {
    4047            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4048            0 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR, CEIL_MOD_EXPR);
    4049            0 :                   if (res) return res;
    4050              :                 }
    4051              :               }
    4052              :           }
    4053              :         break;
    4054              :       }
    4055          876 :     case FLOOR_MOD_EXPR:
    4056          876 :       {
    4057          876 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4058          876 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4059          876 :         if (integer_pow2p (_q21))
    4060              :           {
    4061           26 :             if (integer_zerop (_p1))
    4062              :               {
    4063           26 :                 {
    4064           26 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4065           26 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR, FLOOR_MOD_EXPR);
    4066           26 :                   if (res) return res;
    4067              :                 }
    4068              :               }
    4069              :           }
    4070              :         break;
    4071              :       }
    4072            0 :     case ROUND_MOD_EXPR:
    4073            0 :       {
    4074            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4075            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4076            0 :         if (integer_pow2p (_q21))
    4077              :           {
    4078            0 :             if (integer_zerop (_p1))
    4079              :               {
    4080            0 :                 {
    4081            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4082            0 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR, ROUND_MOD_EXPR);
    4083            0 :                   if (res) return res;
    4084              :                 }
    4085              :               }
    4086              :           }
    4087              :         break;
    4088              :       }
    4089        89960 :     case TRUNC_MOD_EXPR:
    4090        89960 :       {
    4091        89960 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4092        89960 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4093        89960 :         if (integer_pow2p (_q21))
    4094              :           {
    4095        38491 :             if (integer_zerop (_p1))
    4096              :               {
    4097          549 :                 {
    4098          549 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4099          549 :                   tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, EQ_EXPR, TRUNC_MOD_EXPR);
    4100          549 :                   if (res) return res;
    4101              :                 }
    4102              :               }
    4103              :           }
    4104              :         break;
    4105              :       }
    4106      5062063 :     CASE_CONVERT:
    4107      5062063 :       {
    4108      5062063 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4109      5062063 :         switch (TREE_CODE (_p1))
    4110              :           {
    4111            2 :           case LSHIFT_EXPR:
    4112            2 :             {
    4113            2 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4114            2 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4115            2 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4116              :                 {
    4117            0 :                   {
    4118            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    4119            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4120            0 :                     if (res) return res;
    4121              :                   }
    4122              :                 }
    4123              :               break;
    4124              :             }
    4125      5062063 :           default:;
    4126              :           }
    4127      5062063 :       {
    4128      5062063 :         tree _p1_pops[1];
    4129      5062063 :         if (tree_nop_convert (_p1, _p1_pops))
    4130              :           {
    4131      1156979 :             tree _q40 = _p1_pops[0];
    4132      1156979 :             switch (TREE_CODE (_q40))
    4133              :               {
    4134            0 :               case LSHIFT_EXPR:
    4135            0 :                 {
    4136            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4137            0 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4138            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4139              :                     {
    4140            0 :                       {
    4141            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
    4142            0 :                         tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4143            0 :                         if (res) return res;
    4144              :                       }
    4145              :                     }
    4146              :                   break;
    4147              :                 }
    4148              :               default:;
    4149              :               }
    4150              :           }
    4151              :       }
    4152      5062063 :         switch (TREE_CODE (_q20))
    4153              :           {
    4154           86 :           case EXACT_DIV_EXPR:
    4155           86 :             {
    4156           86 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4157           86 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4158           86 :               switch (TREE_CODE (_q31))
    4159              :                 {
    4160           86 :                 case INTEGER_CST:
    4161           86 :                   {
    4162           86 :                     switch (TREE_CODE (_p1))
    4163              :                       {
    4164            0 :                       CASE_CONVERT:
    4165            0 :                         {
    4166            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    4167            0 :                           switch (TREE_CODE (_q60))
    4168              :                             {
    4169            0 :                             case EXACT_DIV_EXPR:
    4170            0 :                               {
    4171            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    4172            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    4173            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    4174              :                                   {
    4175            0 :                                     {
    4176            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    4177            0 :                                       tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4178            0 :                                       if (res) return res;
    4179              :                                     }
    4180              :                                   }
    4181              :                                 break;
    4182              :                               }
    4183              :                             default:;
    4184              :                             }
    4185              :                           break;
    4186              :                         }
    4187              :                       default:;
    4188              :                       }
    4189              :                     break;
    4190              :                   }
    4191              :                 default:;
    4192              :                 }
    4193              :               break;
    4194              :             }
    4195      5062063 :           default:;
    4196              :           }
    4197      5062063 :         switch (TREE_CODE (_p1))
    4198              :           {
    4199        29987 :           case PLUS_EXPR:
    4200        29987 :             {
    4201        29987 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4202        29987 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4203        29987 :               switch (TREE_CODE (_q41))
    4204              :                 {
    4205           26 :                 CASE_CONVERT:
    4206           26 :                   {
    4207           26 :                     tree _q60 = TREE_OPERAND (_q41, 0);
    4208           26 :                     if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4209              :                       {
    4210            0 :                         {
    4211            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4212            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4213            0 :                           if (res) return res;
    4214              :                         }
    4215              :                       }
    4216              :                     break;
    4217              :                   }
    4218        29987 :                 default:;
    4219              :                 }
    4220        29987 :               switch (TREE_CODE (_q40))
    4221              :                 {
    4222         4003 :                 CASE_CONVERT:
    4223         4003 :                   {
    4224         4003 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4225         4003 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4226              :                       {
    4227            0 :                         {
    4228            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4229            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4230            0 :                           if (res) return res;
    4231              :                         }
    4232              :                       }
    4233              :                     break;
    4234              :                   }
    4235        29987 :                 default:;
    4236              :                 }
    4237        29987 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    4238              :                 {
    4239            0 :                   {
    4240            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
    4241            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4242            0 :                     if (res) return res;
    4243              :                   }
    4244              :                 }
    4245        29987 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    4246              :                 {
    4247            0 :                   {
    4248            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
    4249            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4250            0 :                     if (res) return res;
    4251              :                   }
    4252              :                 }
    4253              :               break;
    4254              :             }
    4255      5062063 :           default:;
    4256              :           }
    4257      5062063 :       {
    4258      5062063 :         tree _p1_pops[1];
    4259      5062063 :         if (tree_nop_convert (_p1, _p1_pops))
    4260              :           {
    4261      1156979 :             tree _q40 = _p1_pops[0];
    4262      1156979 :             switch (TREE_CODE (_q40))
    4263              :               {
    4264          472 :               case PLUS_EXPR:
    4265          472 :                 {
    4266          472 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    4267          472 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    4268          472 :                   switch (TREE_CODE (_q51))
    4269              :                     {
    4270            0 :                     CASE_CONVERT:
    4271            0 :                       {
    4272            0 :                         tree _q70 = TREE_OPERAND (_q51, 0);
    4273            0 :                         if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    4274              :                           {
    4275            0 :                             {
    4276            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4277            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4278            0 :                               if (res) return res;
    4279              :                             }
    4280              :                           }
    4281              :                         break;
    4282              :                       }
    4283          472 :                     default:;
    4284              :                     }
    4285          472 :                   switch (TREE_CODE (_q50))
    4286              :                     {
    4287          403 :                     CASE_CONVERT:
    4288          403 :                       {
    4289          403 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    4290          403 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4291              :                           {
    4292            0 :                             {
    4293            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4294            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4295            0 :                               if (res) return res;
    4296              :                             }
    4297              :                           }
    4298              :                         break;
    4299              :                       }
    4300          472 :                     default:;
    4301              :                     }
    4302          472 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4303              :                     {
    4304            0 :                       {
    4305            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
    4306            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4307            0 :                         if (res) return res;
    4308              :                       }
    4309              :                     }
    4310          472 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4311              :                     {
    4312            0 :                       {
    4313            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
    4314            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4315            0 :                         if (res) return res;
    4316              :                       }
    4317              :                     }
    4318              :                   break;
    4319              :                 }
    4320              :               default:;
    4321              :               }
    4322              :           }
    4323              :       }
    4324      5062063 :         break;
    4325              :       }
    4326     26742898 :     default:;
    4327              :     }
    4328     26742898 : {
    4329     26742898 :   tree _p0_pops[1];
    4330     26742898 :   if (tree_nop_convert (_p0, _p0_pops))
    4331              :     {
    4332      2982004 :       tree _q20 = _p0_pops[0];
    4333      2982004 :       switch (TREE_CODE (_q20))
    4334              :         {
    4335            1 :         case LSHIFT_EXPR:
    4336            1 :           {
    4337            1 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4338            1 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4339            1 :             switch (TREE_CODE (_p1))
    4340              :               {
    4341            0 :               CASE_CONVERT:
    4342            0 :                 {
    4343            0 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4344            0 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4345              :                     {
    4346            0 :                       {
    4347            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4348            0 :                         tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4349            0 :                         if (res) return res;
    4350              :                       }
    4351              :                     }
    4352              :                   break;
    4353              :                 }
    4354            1 :               default:;
    4355              :               }
    4356            1 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4357              :               {
    4358            1 :                 {
    4359            1 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    4360            1 :                   tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4361            1 :                   if (res) return res;
    4362              :                 }
    4363              :               }
    4364              :             break;
    4365              :           }
    4366         2267 :         case PLUS_EXPR:
    4367         2267 :           {
    4368         2267 :             tree _q30 = TREE_OPERAND (_q20, 0);
    4369         2267 :             tree _q31 = TREE_OPERAND (_q20, 1);
    4370         2267 :             switch (TREE_CODE (_q31))
    4371              :               {
    4372            0 :               CASE_CONVERT:
    4373            0 :                 {
    4374            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4375            0 :                   switch (TREE_CODE (_p1))
    4376              :                     {
    4377            0 :                     CASE_CONVERT:
    4378            0 :                       {
    4379            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4380            0 :                         if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    4381              :                           {
    4382            0 :                             {
    4383            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4384            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4385            0 :                               if (res) return res;
    4386              :                             }
    4387              :                           }
    4388              :                         break;
    4389              :                       }
    4390              :                     default:;
    4391              :                     }
    4392              :                   break;
    4393              :                 }
    4394         2267 :               default:;
    4395              :               }
    4396         2267 :             switch (TREE_CODE (_q30))
    4397              :               {
    4398         1181 :               CASE_CONVERT:
    4399         1181 :                 {
    4400         1181 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    4401         1181 :                   switch (TREE_CODE (_p1))
    4402              :                     {
    4403           10 :                     CASE_CONVERT:
    4404           10 :                       {
    4405           10 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    4406           10 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    4407              :                           {
    4408            0 :                             {
    4409            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4410            0 :                               tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4411            0 :                               if (res) return res;
    4412              :                             }
    4413              :                           }
    4414              :                         break;
    4415              :                       }
    4416         1181 :                     default:;
    4417              :                     }
    4418         1181 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    4419              :                     {
    4420            0 :                       {
    4421            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
    4422            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4423            0 :                         if (res) return res;
    4424              :                       }
    4425              :                     }
    4426              :                   break;
    4427              :                 }
    4428         2267 :               default:;
    4429              :               }
    4430         2267 :             switch (TREE_CODE (_q31))
    4431              :               {
    4432            0 :               CASE_CONVERT:
    4433            0 :                 {
    4434            0 :                   tree _q50 = TREE_OPERAND (_q31, 0);
    4435            0 :                   if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    4436              :                     {
    4437            0 :                       {
    4438            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
    4439            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4440            0 :                         if (res) return res;
    4441              :                       }
    4442              :                     }
    4443              :                   break;
    4444              :                 }
    4445         2267 :               default:;
    4446              :               }
    4447         2267 :             switch (TREE_CODE (_p1))
    4448              :               {
    4449           79 :               CASE_CONVERT:
    4450           79 :                 {
    4451           79 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    4452           79 :                   if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    4453              :                     {
    4454            0 :                       {
    4455            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4456            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4457            0 :                         if (res) return res;
    4458              :                       }
    4459              :                     }
    4460           79 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    4461              :                     {
    4462            0 :                       {
    4463            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4464            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4465            0 :                         if (res) return res;
    4466              :                       }
    4467              :                     }
    4468              :                   break;
    4469              :                 }
    4470         2267 :               default:;
    4471              :               }
    4472         2267 :             if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    4473              :               {
    4474            0 :                 {
    4475            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    4476            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4477            0 :                   if (res) return res;
    4478              :                 }
    4479              :               }
    4480         2267 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    4481              :               {
    4482            0 :                 {
    4483            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
    4484            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4485            0 :                   if (res) return res;
    4486              :                 }
    4487              :               }
    4488              :             break;
    4489              :           }
    4490              :         default:;
    4491              :         }
    4492              :     }
    4493              : }
    4494     26742897 :   {
    4495     26742897 :     tree _p1_pops[1];
    4496     26742897 :     if (tree_nop_convert (_p1, _p1_pops))
    4497              :       {
    4498      1385636 :         tree _q30 = _p1_pops[0];
    4499      1385636 :         switch (TREE_CODE (_q30))
    4500              :           {
    4501            0 :           case LSHIFT_EXPR:
    4502            0 :             {
    4503            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4504            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4505            0 :               if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    4506              :                 {
    4507            0 :                   {
    4508            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
    4509            0 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4510            0 :                     if (res) return res;
    4511              :                   }
    4512              :                 }
    4513              :               break;
    4514              :             }
    4515              :           default:;
    4516              :           }
    4517              :       }
    4518              :   }
    4519     26742897 :   switch (TREE_CODE (_p0))
    4520              :     {
    4521         1733 :     case LSHIFT_EXPR:
    4522         1733 :       {
    4523         1733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4524         1733 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4525         1733 :         switch (TREE_CODE (_p1))
    4526              :           {
    4527           61 :           CASE_CONVERT:
    4528           61 :             {
    4529           61 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4530           61 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4531              :                 {
    4532            4 :                   {
    4533            4 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4534            4 :                     tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4535            4 :                     if (res) return res;
    4536              :                   }
    4537              :                 }
    4538              :               break;
    4539              :             }
    4540         1732 :           default:;
    4541              :           }
    4542         1732 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4543              :           {
    4544           27 :             {
    4545           27 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4546           27 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4547           27 :               if (res) return res;
    4548              :             }
    4549              :           }
    4550         1728 :         if (tree_zero_one_valued_p (_q20))
    4551              :           {
    4552          239 :             switch (TREE_CODE (_q21))
    4553              :               {
    4554           10 :               case INTEGER_CST:
    4555           10 :                 {
    4556           10 :                   if (integer_zerop (_p1))
    4557              :                     {
    4558            2 :                       {
    4559            2 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4560            2 :                         if (tree_fits_shwi_p (captures[1])
    4561            2 :  && tree_to_shwi (captures[1]) > 0
    4562            4 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    4563              : )
    4564              :                           {
    4565            2 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1491;
    4566            2 :                             {
    4567            2 :                               tree res_op0;
    4568            2 :                               res_op0 = captures[0];
    4569            2 :                               tree res_op1;
    4570            2 :                               res_op1 = captures[2];
    4571            2 :                               tree _r;
    4572            2 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    4573            2 :                               if (TREE_SIDE_EFFECTS (captures[1]))
    4574            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    4575            2 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    4576            2 :                               return _r;
    4577              :                             }
    4578            0 : next_after_fail1491:;
    4579              :                           }
    4580              :                       }
    4581              :                     }
    4582              :                   break;
    4583              :                 }
    4584              :               default:;
    4585              :               }
    4586              :           }
    4587              :         break;
    4588              :       }
    4589     26742890 :     default:;
    4590              :     }
    4591     26742890 :   switch (TREE_CODE (_p1))
    4592              :     {
    4593          154 :     case LSHIFT_EXPR:
    4594          154 :       {
    4595          154 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4596          154 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4597          154 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    4598              :           {
    4599            0 :             {
    4600            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    4601            0 :               tree res = generic_simplify_208 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4602            0 :               if (res) return res;
    4603              :             }
    4604              :           }
    4605              :         break;
    4606              :       }
    4607     26742890 :     default:;
    4608              :     }
    4609     26742890 :   switch (TREE_CODE (_p0))
    4610              :     {
    4611        45863 :     case VIEW_CONVERT_EXPR:
    4612        45863 :       {
    4613        45863 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4614        45863 :         if (tree_zero_one_valued_p (_q20))
    4615              :           {
    4616            0 :             if (integer_zerop (_p1))
    4617              :               {
    4618            0 :                 {
    4619            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
    4620            0 :                   tree res = generic_simplify_214 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4621            0 :                   if (res) return res;
    4622              :                 }
    4623              :               }
    4624              :           }
    4625              :         break;
    4626              :       }
    4627        16794 :     case RSHIFT_EXPR:
    4628        16794 :       {
    4629        16794 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4630        16794 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4631        16794 :         switch (TREE_CODE (_q21))
    4632              :           {
    4633        15804 :           case INTEGER_CST:
    4634        15804 :             {
    4635        15804 :               switch (TREE_CODE (_p1))
    4636              :                 {
    4637           60 :                 case RSHIFT_EXPR:
    4638           60 :                   {
    4639           60 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4640           60 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4641           60 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4642              :                       {
    4643           16 :                         switch (TREE_CODE (_q51))
    4644              :                           {
    4645           16 :                           case INTEGER_CST:
    4646           16 :                             {
    4647           16 :                               {
    4648           16 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4649           16 :                                 tree res = generic_simplify_215 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    4650           16 :                                 if (res) return res;
    4651              :                               }
    4652           15 :                               break;
    4653              :                             }
    4654              :                           default:;
    4655              :                           }
    4656              :                       }
    4657              :                     break;
    4658              :                   }
    4659        15803 :                 default:;
    4660              :                 }
    4661        15803 :             if (integer_zerop (_p1))
    4662              :               {
    4663         1512 :                 {
    4664         1512 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4665         1512 :                   tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    4666         1512 :                   if (res) return res;
    4667              :                 }
    4668              :               }
    4669              :               break;
    4670              :             }
    4671              :           default:;
    4672              :           }
    4673              :         break;
    4674              :       }
    4675       815972 :     case BIT_AND_EXPR:
    4676       815972 :       {
    4677       815972 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4678       815972 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4679       815972 :         if (tree_truth_valued_p (_q20))
    4680              :           {
    4681           21 :             if (tree_truth_valued_p (_q21))
    4682              :               {
    4683           20 :                 switch (TREE_CODE (_p1))
    4684              :                   {
    4685            0 :                   case BIT_XOR_EXPR:
    4686            0 :                     {
    4687            0 :                       tree _q50 = TREE_OPERAND (_p1, 0);
    4688            0 :                       tree _q51 = TREE_OPERAND (_p1, 1);
    4689            0 :                       if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4690              :                         {
    4691            0 :                           if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4692              :                             {
    4693            0 :                               {
    4694            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4695            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1492;
    4696            0 :                                 {
    4697            0 :                                   tree res_op0;
    4698            0 :                                   {
    4699            0 :                                     tree _o1[2], _r1;
    4700            0 :                                     _o1[0] = captures[0];
    4701            0 :                                     _o1[1] = captures[1];
    4702            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4703            0 :                                     res_op0 = _r1;
    4704              :                                   }
    4705            0 :                                   tree _r;
    4706            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4707            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    4708            0 :                                   return _r;
    4709              :                                 }
    4710            0 : next_after_fail1492:;
    4711              :                               }
    4712              :                             }
    4713              :                         }
    4714            0 :                       if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4715              :                         {
    4716            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4717              :                             {
    4718            0 :                               {
    4719            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    4720            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1493;
    4721            0 :                                 {
    4722            0 :                                   tree res_op0;
    4723            0 :                                   {
    4724            0 :                                     tree _o1[2], _r1;
    4725            0 :                                     _o1[0] = captures[0];
    4726            0 :                                     _o1[1] = captures[1];
    4727            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4728            0 :                                     res_op0 = _r1;
    4729              :                                   }
    4730            0 :                                   tree _r;
    4731            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4732            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    4733            0 :                                   return _r;
    4734              :                                 }
    4735            0 : next_after_fail1493:;
    4736              :                               }
    4737              :                             }
    4738              :                         }
    4739              :                       break;
    4740              :                     }
    4741              :                   default:;
    4742              :                   }
    4743              :               }
    4744              :           }
    4745              :         break;
    4746              :       }
    4747          585 :     case BIT_XOR_EXPR:
    4748          585 :       {
    4749          585 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4750          585 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4751          585 :         switch (TREE_CODE (_p1))
    4752              :           {
    4753            0 :           case BIT_AND_EXPR:
    4754            0 :             {
    4755            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4756            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4757            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4758              :                 {
    4759            0 :                   if (tree_truth_valued_p (_q50))
    4760              :                     {
    4761            0 :                       if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4762              :                         {
    4763            0 :                           if (tree_truth_valued_p (_q51))
    4764              :                             {
    4765            0 :                               {
    4766            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4767            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1494;
    4768            0 :                                 {
    4769            0 :                                   tree res_op0;
    4770            0 :                                   {
    4771            0 :                                     tree _o1[2], _r1;
    4772            0 :                                     _o1[0] = captures[0];
    4773            0 :                                     _o1[1] = captures[1];
    4774            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4775            0 :                                     res_op0 = _r1;
    4776              :                                   }
    4777            0 :                                   tree _r;
    4778            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4779            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    4780            0 :                                   return _r;
    4781              :                                 }
    4782            0 : next_after_fail1494:;
    4783              :                               }
    4784              :                             }
    4785              :                         }
    4786              :                     }
    4787              :                 }
    4788            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4789              :                 {
    4790            0 :                   if (tree_truth_valued_p (_q50))
    4791              :                     {
    4792            0 :                       if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4793              :                         {
    4794            0 :                           if (tree_truth_valued_p (_q51))
    4795              :                             {
    4796            0 :                               {
    4797            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4798            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1495;
    4799            0 :                                 {
    4800            0 :                                   tree res_op0;
    4801            0 :                                   {
    4802            0 :                                     tree _o1[2], _r1;
    4803            0 :                                     _o1[0] = captures[0];
    4804            0 :                                     _o1[1] = captures[1];
    4805            0 :                                     _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    4806            0 :                                     res_op0 = _r1;
    4807              :                                   }
    4808            0 :                                   tree _r;
    4809            0 :                                   _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    4810            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 892, __FILE__, __LINE__, true);
    4811            0 :                                   return _r;
    4812              :                                 }
    4813            0 : next_after_fail1495:;
    4814              :                               }
    4815              :                             }
    4816              :                         }
    4817              :                     }
    4818              :                 }
    4819              :               break;
    4820              :             }
    4821              :           default:;
    4822              :           }
    4823              :         break;
    4824              :       }
    4825          403 :     case BIT_NOT_EXPR:
    4826          403 :       {
    4827          403 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4828          403 :         if (tree_truth_valued_p (_q20))
    4829              :           {
    4830            0 :             if (tree_truth_valued_p (_p1))
    4831              :               {
    4832            0 :                 {
    4833            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    4834            0 :                   tree res = generic_simplify_213 (loc, type, _p0, _p1, captures);
    4835            0 :                   if (res) return res;
    4836              :                 }
    4837              :               }
    4838              :           }
    4839              :         break;
    4840              :       }
    4841        65451 :     case MULT_EXPR:
    4842        65451 :       {
    4843        65451 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4844        65451 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4845        65451 :         switch (TREE_CODE (_p1))
    4846              :           {
    4847          879 :           case MULT_EXPR:
    4848          879 :             {
    4849          879 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4850          879 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4851          879 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4852              :                 {
    4853          568 :                   {
    4854          568 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4855          568 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4856          568 :                     if (res) return res;
    4857              :                   }
    4858              :                 }
    4859          871 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    4860              :                 {
    4861            0 :                   {
    4862            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    4863            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4864            0 :                     if (res) return res;
    4865              :                   }
    4866              :                 }
    4867          871 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    4868              :                 {
    4869            0 :                   {
    4870            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    4871            0 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4872            0 :                     if (res) return res;
    4873              :                   }
    4874              :                 }
    4875          871 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4876              :                 {
    4877           19 :                   {
    4878           19 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    4879           19 :                     tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4880           19 :                     if (res) return res;
    4881              :                   }
    4882              :                 }
    4883              :               break;
    4884              :             }
    4885        65443 :           default:;
    4886              :           }
    4887        65443 :         switch (TREE_CODE (_q21))
    4888              :           {
    4889        57626 :           case INTEGER_CST:
    4890        57626 :             {
    4891        57626 :               switch (TREE_CODE (_p1))
    4892              :                 {
    4893          834 :                 case MULT_EXPR:
    4894          834 :                   {
    4895          834 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4896          834 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4897          834 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4898              :                       {
    4899          528 :                         {
    4900          528 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4901          528 :                           tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4902          528 :                           if (res) return res;
    4903              :                         }
    4904              :                       }
    4905              :                     break;
    4906              :                   }
    4907              :                 default:;
    4908              :                 }
    4909              :               break;
    4910              :             }
    4911              :           default:;
    4912              :           }
    4913              :         break;
    4914              :       }
    4915         7010 :     case EXACT_DIV_EXPR:
    4916         7010 :       {
    4917         7010 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4918         7010 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4919         7010 :         switch (TREE_CODE (_q21))
    4920              :           {
    4921         7010 :           case INTEGER_CST:
    4922         7010 :             {
    4923         7010 :               switch (TREE_CODE (_p1))
    4924              :                 {
    4925            0 :                 case EXACT_DIV_EXPR:
    4926            0 :                   {
    4927            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4928            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4929            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4930              :                       {
    4931            0 :                         {
    4932            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    4933            0 :                           tree res = generic_simplify_210 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4934            0 :                           if (res) return res;
    4935              :                         }
    4936              :                       }
    4937              :                     break;
    4938              :                   }
    4939              :                 default:;
    4940              :                 }
    4941              :               break;
    4942              :             }
    4943              :           default:;
    4944              :           }
    4945              :         break;
    4946              :       }
    4947         5334 :     case TRUNC_DIV_EXPR:
    4948         5334 :       {
    4949         5334 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4950         5334 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4951         5334 :         switch (TREE_CODE (_q21))
    4952              :           {
    4953         3848 :           case INTEGER_CST:
    4954         3848 :             {
    4955         3848 :               switch (TREE_CODE (_p1))
    4956              :                 {
    4957          986 :                 case INTEGER_CST:
    4958          986 :                   {
    4959          986 :                     {
    4960          986 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4961          986 :                       tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, EQ_EXPR);
    4962          986 :                       if (res) return res;
    4963              :                     }
    4964           21 :                     break;
    4965              :                   }
    4966              :                 default:;
    4967              :                 }
    4968              :               break;
    4969              :             }
    4970              :           default:;
    4971              :           }
    4972              :         break;
    4973              :       }
    4974       654309 :     case PLUS_EXPR:
    4975       654309 :       {
    4976       654309 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4977       654309 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4978       654309 :         switch (TREE_CODE (_p1))
    4979              :           {
    4980        50390 :           case PLUS_EXPR:
    4981        50390 :             {
    4982        50390 :               tree _q50 = TREE_OPERAND (_p1, 0);
    4983        50390 :               tree _q51 = TREE_OPERAND (_p1, 1);
    4984        50390 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    4985              :                 {
    4986          377 :                   {
    4987          377 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    4988          754 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    4989          682 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    4990          271 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    4991              : )
    4992              :                       {
    4993          305 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1496;
    4994          305 :                         {
    4995          305 :                           tree res_op0;
    4996          305 :                           res_op0 = captures[0];
    4997          305 :                           tree res_op1;
    4998          305 :                           res_op1 = captures[2];
    4999          305 :                           tree _r;
    5000          305 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5001          305 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5002            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5003          305 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5004          305 :                           return _r;
    5005              :                         }
    5006            0 : next_after_fail1496:;
    5007              :                       }
    5008              :                   }
    5009              :                 }
    5010        50085 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5011              :                 {
    5012            2 :                   {
    5013            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5014            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5015            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5016            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5017              : )
    5018              :                       {
    5019            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1497;
    5020            0 :                         {
    5021            0 :                           tree res_op0;
    5022            0 :                           res_op0 = captures[0];
    5023            0 :                           tree res_op1;
    5024            0 :                           res_op1 = captures[2];
    5025            0 :                           tree _r;
    5026            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5027            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5028            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5029            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5030            0 :                           return _r;
    5031              :                         }
    5032            0 : next_after_fail1497:;
    5033              :                       }
    5034              :                   }
    5035              :                 }
    5036        50085 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    5037              :                 {
    5038            2 :                   {
    5039            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    5040            4 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5041            2 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5042            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5043              : )
    5044              :                       {
    5045            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1498;
    5046            0 :                         {
    5047            0 :                           tree res_op0;
    5048            0 :                           res_op0 = captures[0];
    5049            0 :                           tree res_op1;
    5050            0 :                           res_op1 = captures[2];
    5051            0 :                           tree _r;
    5052            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5053            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5054            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5055            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5056            0 :                           return _r;
    5057              :                         }
    5058            0 : next_after_fail1498:;
    5059              :                       }
    5060              :                   }
    5061              :                 }
    5062        50085 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5063              :                 {
    5064           47 :                   {
    5065           47 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    5066           94 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5067           47 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5068            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5069              : )
    5070              :                       {
    5071            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
    5072            0 :                         {
    5073            0 :                           tree res_op0;
    5074            0 :                           res_op0 = captures[0];
    5075            0 :                           tree res_op1;
    5076            0 :                           res_op1 = captures[2];
    5077            0 :                           tree _r;
    5078            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5079            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5080            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5081            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 928, __FILE__, __LINE__, true);
    5082            0 :                           return _r;
    5083              :                         }
    5084            0 : next_after_fail1499:;
    5085              :                       }
    5086              :                   }
    5087              :                 }
    5088              :               break;
    5089              :             }
    5090       654004 :           default:;
    5091              :           }
    5092       654004 :         switch (TREE_CODE (_q21))
    5093              :           {
    5094         2689 :           CASE_CONVERT:
    5095         2689 :             {
    5096         2689 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5097         2689 :               switch (TREE_CODE (_p1))
    5098              :                 {
    5099          158 :                 CASE_CONVERT:
    5100          158 :                   {
    5101          158 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5102          158 :                     if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    5103              :                       {
    5104            0 :                         {
    5105            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5106            0 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5107            0 :                           if (res) return res;
    5108              :                         }
    5109              :                       }
    5110              :                     break;
    5111              :                   }
    5112              :                 default:;
    5113              :                 }
    5114              :               break;
    5115              :             }
    5116       654004 :           default:;
    5117              :           }
    5118       654004 :         switch (TREE_CODE (_q20))
    5119              :           {
    5120        26143 :           CASE_CONVERT:
    5121        26143 :             {
    5122        26143 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5123        26143 :               switch (TREE_CODE (_p1))
    5124              :                 {
    5125          355 :                 CASE_CONVERT:
    5126          355 :                   {
    5127          355 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5128          355 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5129              :                       {
    5130            1 :                         {
    5131            1 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5132            1 :                           tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5133            1 :                           if (res) return res;
    5134              :                         }
    5135              :                       }
    5136              :                     break;
    5137              :                   }
    5138        26142 :                 default:;
    5139              :                 }
    5140        26142 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5141              :                 {
    5142            0 :                   {
    5143            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
    5144            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5145            0 :                     if (res) return res;
    5146              :                   }
    5147              :                 }
    5148              :               break;
    5149              :             }
    5150       654003 :           default:;
    5151              :           }
    5152       654003 :         switch (TREE_CODE (_q21))
    5153              :           {
    5154         2689 :           CASE_CONVERT:
    5155         2689 :             {
    5156         2689 :               tree _q40 = TREE_OPERAND (_q21, 0);
    5157         2689 :               if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5158              :                 {
    5159            0 :                   {
    5160            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
    5161            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5162            0 :                     if (res) return res;
    5163              :                   }
    5164              :                 }
    5165              :               break;
    5166              :             }
    5167       654003 :           default:;
    5168              :           }
    5169       654003 :         switch (TREE_CODE (_p1))
    5170              :           {
    5171        13796 :           CASE_CONVERT:
    5172        13796 :             {
    5173        13796 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5174        13796 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    5175              :                 {
    5176            0 :                   {
    5177            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5178            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5179            0 :                     if (res) return res;
    5180              :                   }
    5181              :                 }
    5182        13796 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5183              :                 {
    5184            0 :                   {
    5185            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5186            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5187            0 :                     if (res) return res;
    5188              :                   }
    5189              :                 }
    5190              :               break;
    5191              :             }
    5192       654003 :           default:;
    5193              :           }
    5194       654003 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5195              :           {
    5196         2434 :             {
    5197         2434 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5198         2434 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5199         2434 :               if (res) return res;
    5200              :             }
    5201              :           }
    5202       651631 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5203              :           {
    5204           67 :             {
    5205           67 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
    5206           67 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5207           67 :               if (res) return res;
    5208              :             }
    5209              :           }
    5210              :         break;
    5211              :       }
    5212        61990 :     case POINTER_PLUS_EXPR:
    5213        61990 :       {
    5214        61990 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5215        61990 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5216        61990 :         switch (TREE_CODE (_p1))
    5217              :           {
    5218         2450 :           case POINTER_PLUS_EXPR:
    5219         2450 :             {
    5220         2450 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5221         2450 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5222         2450 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5223              :                 {
    5224           14 :                   {
    5225           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5226           14 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5227           14 :                     if (res) return res;
    5228              :                   }
    5229              :                 }
    5230              :               break;
    5231              :             }
    5232        61976 :           default:;
    5233              :           }
    5234        61976 :         switch (TREE_CODE (_q20))
    5235              :           {
    5236         1118 :           CASE_CONVERT:
    5237         1118 :             {
    5238         1118 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5239         1118 :               switch (TREE_CODE (_p1))
    5240              :                 {
    5241           84 :                 CASE_CONVERT:
    5242           84 :                   {
    5243           84 :                     tree _q60 = TREE_OPERAND (_p1, 0);
    5244           84 :                     if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5245              :                       {
    5246           54 :                         {
    5247           54 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5248           54 :                           tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5249           54 :                           if (res) return res;
    5250              :                         }
    5251              :                       }
    5252              :                     break;
    5253              :                   }
    5254         1064 :                 default:;
    5255              :                 }
    5256         1064 :               if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5257              :                 {
    5258            0 :                   {
    5259            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
    5260            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5261            0 :                     if (res) return res;
    5262              :                   }
    5263              :                 }
    5264              :               break;
    5265              :             }
    5266        61922 :           default:;
    5267              :           }
    5268        61922 :         switch (TREE_CODE (_p1))
    5269              :           {
    5270          443 :           CASE_CONVERT:
    5271          443 :             {
    5272          443 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5273          443 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5274              :                 {
    5275            0 :                   {
    5276            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5277            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5278            0 :                     if (res) return res;
    5279              :                   }
    5280              :                 }
    5281              :               break;
    5282              :             }
    5283        61922 :           default:;
    5284              :           }
    5285        61922 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5286              :           {
    5287         1545 :             {
    5288         1545 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
    5289         1545 :               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5290         1545 :               if (res) return res;
    5291              :             }
    5292              :           }
    5293              :         break;
    5294              :       }
    5295       152289 :     case MINUS_EXPR:
    5296       152289 :       {
    5297       152289 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5298       152289 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5299       152289 :         switch (TREE_CODE (_p1))
    5300              :           {
    5301          162 :           case MINUS_EXPR:
    5302          162 :             {
    5303          162 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5304          162 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5305          162 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5306              :                 {
    5307           25 :                   {
    5308           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    5309           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    5310           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    5311            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0])))
    5312              : )
    5313              :                       {
    5314            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
    5315            0 :                         {
    5316            0 :                           tree res_op0;
    5317            0 :                           res_op0 = captures[0];
    5318            0 :                           tree res_op1;
    5319            0 :                           res_op1 = captures[2];
    5320            0 :                           tree _r;
    5321            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5322            0 :                           if (TREE_SIDE_EFFECTS (captures[1]))
    5323            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    5324            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 929, __FILE__, __LINE__, true);
    5325            0 :                           return _r;
    5326              :                         }
    5327            0 : next_after_fail1500:;
    5328              :                       }
    5329              :                   }
    5330              :                 }
    5331          162 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5332              :                 {
    5333           25 :                   {
    5334           25 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    5335           50 :                     if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    5336           25 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    5337            0 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
    5338              : )
    5339              :                       {
    5340            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
    5341            0 :                         {
    5342            0 :                           tree res_op0;
    5343            0 :                           res_op0 = captures[2];
    5344            0 :                           tree res_op1;
    5345            0 :                           res_op1 = captures[1];
    5346            0 :                           tree _r;
    5347            0 :                           _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    5348            0 :                           if (TREE_SIDE_EFFECTS (captures[0]))
    5349            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5350            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 930, __FILE__, __LINE__, true);
    5351            0 :                           return _r;
    5352              :                         }
    5353            0 : next_after_fail1501:;
    5354              :                       }
    5355              :                   }
    5356              :                 }
    5357              :               break;
    5358              :             }
    5359       152289 :           default:;
    5360              :           }
    5361       152289 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5362              :           {
    5363           77 :             {
    5364           77 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    5365           77 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5366           77 :               if (res) return res;
    5367              :             }
    5368              :           }
    5369              :         break;
    5370              :       }
    5371        31334 :     case POINTER_DIFF_EXPR:
    5372        31334 :       {
    5373        31334 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5374        31334 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5375        31334 :         switch (TREE_CODE (_p1))
    5376              :           {
    5377          993 :           case POINTER_DIFF_EXPR:
    5378          993 :             {
    5379          993 :               tree _q50 = TREE_OPERAND (_p1, 0);
    5380          993 :               tree _q51 = TREE_OPERAND (_p1, 1);
    5381          993 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    5382              :                 {
    5383            0 :                   {
    5384            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    5385            0 :                     tree res = generic_simplify_223 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5386            0 :                     if (res) return res;
    5387              :                   }
    5388              :                 }
    5389          993 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5390              :                 {
    5391            0 :                   {
    5392            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5393            0 :                     tree res = generic_simplify_224 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5394            0 :                     if (res) return res;
    5395              :                   }
    5396              :                 }
    5397              :               break;
    5398              :             }
    5399              :           default:;
    5400              :           }
    5401              :         break;
    5402              :       }
    5403     26737456 :     default:;
    5404              :     }
    5405     26737456 : {
    5406     26737456 :   tree _p0_pops[1];
    5407     26737456 :   if (tree_logical_inverted_value (_p0, _p0_pops))
    5408              :     {
    5409         7826 :       tree _q20 = _p0_pops[0];
    5410         7826 :       if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5411              :         {
    5412            9 :           if (tree_truth_valued_p (_p1))
    5413              :             {
    5414            0 :               {
    5415            0 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5416            0 :                 tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5417            0 :                 if (res) return res;
    5418              :               }
    5419              :             }
    5420              :         }
    5421              :     }
    5422              : }
    5423     26737456 : if (tree_truth_valued_p (_p0))
    5424              :   {
    5425       630103 :     switch (TREE_CODE (_p1))
    5426              :       {
    5427           24 :       case BIT_NOT_EXPR:
    5428           24 :         {
    5429           24 :           tree _q30 = TREE_OPERAND (_p1, 0);
    5430           24 :           if (tree_truth_valued_p (_q30))
    5431              :             {
    5432            4 :               {
    5433            4 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    5434            4 :                 tree res = generic_simplify_213 (loc, type, _p0, _p1, captures);
    5435            4 :                 if (res) return res;
    5436              :               }
    5437              :             }
    5438              :           break;
    5439              :         }
    5440       630103 :       default:;
    5441              :       }
    5442       630103 :   {
    5443       630103 :     tree _p1_pops[1];
    5444       630103 :     if (tree_logical_inverted_value (_p1, _p1_pops))
    5445              :       {
    5446           90 :         tree _q30 = _p1_pops[0];
    5447           90 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5448              :           {
    5449            0 :             {
    5450            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5451            0 :               tree res = generic_simplify_212 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5452            0 :               if (res) return res;
    5453              :             }
    5454              :           }
    5455              :       }
    5456              :   }
    5457              :   }
    5458     26737456 :   switch (TREE_CODE (_p1))
    5459              :     {
    5460        85362 :     case PLUS_EXPR:
    5461        85362 :       {
    5462        85362 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5463        85362 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5464        85362 :         switch (TREE_CODE (_q31))
    5465              :           {
    5466           26 :           CASE_CONVERT:
    5467           26 :             {
    5468           26 :               tree _q50 = TREE_OPERAND (_q31, 0);
    5469           26 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5470              :                 {
    5471            0 :                   {
    5472            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5473            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5474            0 :                     if (res) return res;
    5475              :                   }
    5476              :                 }
    5477              :               break;
    5478              :             }
    5479        85362 :           default:;
    5480              :           }
    5481        85362 :         switch (TREE_CODE (_q30))
    5482              :           {
    5483        20449 :           CASE_CONVERT:
    5484        20449 :             {
    5485        20449 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5486        20449 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5487              :                 {
    5488            0 :                   {
    5489            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5490            0 :                     tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5491            0 :                     if (res) return res;
    5492              :                   }
    5493              :                 }
    5494              :               break;
    5495              :             }
    5496        85362 :           default:;
    5497              :           }
    5498        85362 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    5499              :           {
    5500            0 :             {
    5501            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
    5502            0 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5503            0 :               if (res) return res;
    5504              :             }
    5505              :           }
    5506        85362 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5507              :           {
    5508            0 :             {
    5509            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
    5510            0 :               tree res = generic_simplify_211 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5511            0 :               if (res) return res;
    5512              :             }
    5513              :           }
    5514              :         break;
    5515              :       }
    5516     26737456 :     default:;
    5517              :     }
    5518     26737456 : {
    5519     26737456 :   tree _p1_pops[1];
    5520     26737456 :   if (tree_nop_convert (_p1, _p1_pops))
    5521              :     {
    5522      1385579 :       tree _q30 = _p1_pops[0];
    5523      1385579 :       switch (TREE_CODE (_q30))
    5524              :         {
    5525         1728 :         case PLUS_EXPR:
    5526         1728 :           {
    5527         1728 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5528         1728 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5529         1728 :             switch (TREE_CODE (_q41))
    5530              :               {
    5531            2 :               CASE_CONVERT:
    5532            2 :                 {
    5533            2 :                   tree _q60 = TREE_OPERAND (_q41, 0);
    5534            2 :                   if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    5535              :                     {
    5536            0 :                       {
    5537            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5538            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5539            0 :                         if (res) return res;
    5540              :                       }
    5541              :                     }
    5542              :                   break;
    5543              :                 }
    5544         1728 :               default:;
    5545              :               }
    5546         1728 :             switch (TREE_CODE (_q40))
    5547              :               {
    5548         1623 :               CASE_CONVERT:
    5549         1623 :                 {
    5550         1623 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5551         1623 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5552              :                     {
    5553            0 :                       {
    5554            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5555            0 :                         tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5556            0 :                         if (res) return res;
    5557              :                       }
    5558              :                     }
    5559              :                   break;
    5560              :                 }
    5561         1728 :               default:;
    5562              :               }
    5563         1728 :             if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    5564              :               {
    5565            0 :                 {
    5566            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
    5567            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5568            0 :                   if (res) return res;
    5569              :                 }
    5570              :               }
    5571         1728 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5572              :               {
    5573            0 :                 {
    5574            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
    5575            0 :                   tree res = generic_simplify_209 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5576            0 :                   if (res) return res;
    5577              :                 }
    5578              :               }
    5579              :             break;
    5580              :           }
    5581              :         default:;
    5582              :         }
    5583              :     }
    5584              : }
    5585     26737456 :   switch (TREE_CODE (_p0))
    5586              :     {
    5587      5062062 :     CASE_CONVERT:
    5588      5062062 :       {
    5589      5062062 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5590      5062062 :         switch (TREE_CODE (_p1))
    5591              :           {
    5592          152 :           case POINTER_PLUS_EXPR:
    5593          152 :             {
    5594          152 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5595          152 :               tree _q41 = TREE_OPERAND (_p1, 1);
    5596          152 :               switch (TREE_CODE (_q40))
    5597              :                 {
    5598           96 :                 CASE_CONVERT:
    5599           96 :                   {
    5600           96 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5601           96 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5602              :                       {
    5603            3 :                         {
    5604            3 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5605            3 :                           tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5606            3 :                           if (res) return res;
    5607              :                         }
    5608              :                       }
    5609              :                     break;
    5610              :                   }
    5611          149 :                 default:;
    5612              :                 }
    5613          149 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    5614              :                 {
    5615            0 :                   {
    5616            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
    5617            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5618            0 :                     if (res) return res;
    5619              :                   }
    5620              :                 }
    5621              :               break;
    5622              :             }
    5623      5062059 :           default:;
    5624              :           }
    5625      5062059 :       {
    5626      5062059 :         tree _p1_pops[1];
    5627      5062059 :         if (tree_nop_convert (_p1, _p1_pops))
    5628              :           {
    5629      1156979 :             tree _q40 = _p1_pops[0];
    5630      1156979 :             switch (TREE_CODE (_q40))
    5631              :               {
    5632           18 :               case POINTER_PLUS_EXPR:
    5633           18 :                 {
    5634           18 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5635           18 :                   tree _q51 = TREE_OPERAND (_q40, 1);
    5636           18 :                   switch (TREE_CODE (_q50))
    5637              :                     {
    5638            0 :                     CASE_CONVERT:
    5639            0 :                       {
    5640            0 :                         tree _q60 = TREE_OPERAND (_q50, 0);
    5641            0 :                         if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5642              :                           {
    5643            0 :                             {
    5644            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5645            0 :                               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5646            0 :                               if (res) return res;
    5647              :                             }
    5648              :                           }
    5649              :                         break;
    5650              :                       }
    5651           18 :                     default:;
    5652              :                     }
    5653           18 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5654              :                     {
    5655            0 :                       {
    5656            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
    5657            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5658            0 :                         if (res) return res;
    5659              :                       }
    5660              :                     }
    5661              :                   break;
    5662              :                 }
    5663              :               default:;
    5664              :               }
    5665              :           }
    5666              :       }
    5667      5062059 :         break;
    5668              :       }
    5669     26737453 :     default:;
    5670              :     }
    5671     26737453 : {
    5672     26737453 :   tree _p0_pops[1];
    5673     26737453 :   if (tree_nop_convert (_p0, _p0_pops))
    5674              :     {
    5675      2982000 :       tree _q20 = _p0_pops[0];
    5676      2982000 :       switch (TREE_CODE (_q20))
    5677              :         {
    5678           97 :         case POINTER_PLUS_EXPR:
    5679           97 :           {
    5680           97 :             tree _q30 = TREE_OPERAND (_q20, 0);
    5681           97 :             tree _q31 = TREE_OPERAND (_q20, 1);
    5682           97 :             switch (TREE_CODE (_q30))
    5683              :               {
    5684           21 :               CASE_CONVERT:
    5685           21 :                 {
    5686           21 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    5687           21 :                   switch (TREE_CODE (_p1))
    5688              :                     {
    5689            0 :                     CASE_CONVERT:
    5690            0 :                       {
    5691            0 :                         tree _q70 = TREE_OPERAND (_p1, 0);
    5692            0 :                         if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    5693              :                           {
    5694            0 :                             {
    5695            0 :                               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5696            0 :                               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5697            0 :                               if (res) return res;
    5698              :                             }
    5699              :                           }
    5700              :                         break;
    5701              :                       }
    5702           21 :                     default:;
    5703              :                     }
    5704           21 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    5705              :                     {
    5706            0 :                       {
    5707            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
    5708            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5709            0 :                         if (res) return res;
    5710              :                       }
    5711              :                     }
    5712              :                   break;
    5713              :                 }
    5714           97 :               default:;
    5715              :               }
    5716           97 :             switch (TREE_CODE (_p1))
    5717              :               {
    5718           27 :               CASE_CONVERT:
    5719           27 :                 {
    5720           27 :                   tree _q60 = TREE_OPERAND (_p1, 0);
    5721           27 :                   if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
    5722              :                     {
    5723            0 :                       {
    5724            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5725            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5726            0 :                         if (res) return res;
    5727              :                       }
    5728              :                     }
    5729              :                   break;
    5730              :                 }
    5731           97 :               default:;
    5732              :               }
    5733           97 :             if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    5734              :               {
    5735            0 :                 {
    5736            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
    5737            0 :                   tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5738            0 :                   if (res) return res;
    5739              :                 }
    5740              :               }
    5741              :             break;
    5742              :           }
    5743              :         default:;
    5744              :         }
    5745              :     }
    5746              : }
    5747     26737453 :   switch (TREE_CODE (_p1))
    5748              :     {
    5749         6142 :     case POINTER_PLUS_EXPR:
    5750         6142 :       {
    5751         6142 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5752         6142 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5753         6142 :         switch (TREE_CODE (_q30))
    5754              :           {
    5755         3440 :           CASE_CONVERT:
    5756         3440 :             {
    5757         3440 :               tree _q40 = TREE_OPERAND (_q30, 0);
    5758         3440 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5759              :                 {
    5760            0 :                   {
    5761            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5762            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5763            0 :                     if (res) return res;
    5764              :                   }
    5765              :                 }
    5766              :               break;
    5767              :             }
    5768         6142 :           default:;
    5769              :           }
    5770         6142 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5771              :           {
    5772            0 :             {
    5773            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
    5774            0 :               tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5775            0 :               if (res) return res;
    5776              :             }
    5777              :           }
    5778              :         break;
    5779              :       }
    5780     26737453 :     default:;
    5781              :     }
    5782     26737453 : {
    5783     26737453 :   tree _p1_pops[1];
    5784     26737453 :   if (tree_nop_convert (_p1, _p1_pops))
    5785              :     {
    5786      1385579 :       tree _q30 = _p1_pops[0];
    5787      1385579 :       switch (TREE_CODE (_q30))
    5788              :         {
    5789           32 :         case POINTER_PLUS_EXPR:
    5790           32 :           {
    5791           32 :             tree _q40 = TREE_OPERAND (_q30, 0);
    5792           32 :             tree _q41 = TREE_OPERAND (_q30, 1);
    5793           32 :             switch (TREE_CODE (_q40))
    5794              :               {
    5795            0 :               CASE_CONVERT:
    5796            0 :                 {
    5797            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    5798            0 :                   if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    5799              :                     {
    5800            0 :                       {
    5801            0 :                         tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5802            0 :                         tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5803            0 :                         if (res) return res;
    5804              :                       }
    5805              :                     }
    5806              :                   break;
    5807              :                 }
    5808           32 :               default:;
    5809              :               }
    5810           32 :             if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    5811              :               {
    5812            0 :                 {
    5813            0 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
    5814            0 :                   tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5815            0 :                   if (res) return res;
    5816              :                 }
    5817              :               }
    5818              :             break;
    5819              :           }
    5820              :         default:;
    5821              :         }
    5822              :     }
    5823              : }
    5824     26737453 :   switch (TREE_CODE (_p0))
    5825              :     {
    5826        60377 :     case POINTER_PLUS_EXPR:
    5827        60377 :       {
    5828        60377 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5829        60377 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5830        60377 :         switch (TREE_CODE (_p1))
    5831              :           {
    5832        11916 :           case ADDR_EXPR:
    5833        11916 :             {
    5834        11916 :               {
    5835        11916 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5836        11916 :                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5837        11916 :                 if (res) return res;
    5838              :               }
    5839        11915 :               break;
    5840              :             }
    5841        60376 :           default:;
    5842              :           }
    5843        60376 :         switch (TREE_CODE (_q20))
    5844              :           {
    5845         1074 :           case ADDR_EXPR:
    5846         1074 :             {
    5847         1074 :               switch (TREE_CODE (_p1))
    5848              :                 {
    5849           15 :                 case POINTER_PLUS_EXPR:
    5850           15 :                   {
    5851           15 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5852           15 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5853           15 :                     switch (TREE_CODE (_q50))
    5854              :                       {
    5855            6 :                       case ADDR_EXPR:
    5856            6 :                         {
    5857            6 :                           {
    5858            6 :                             tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
    5859            6 :                             tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5860            6 :                             if (res) return res;
    5861              :                           }
    5862            6 :                           break;
    5863              :                         }
    5864              :                       default:;
    5865              :                       }
    5866              :                     break;
    5867              :                   }
    5868              :                 default:;
    5869              :                 }
    5870              :               break;
    5871              :             }
    5872              :           default:;
    5873              :           }
    5874              :         break;
    5875              :       }
    5876        83772 :     case ADDR_EXPR:
    5877        83772 :       {
    5878        83772 :         switch (TREE_CODE (_p1))
    5879              :           {
    5880            0 :           case POINTER_PLUS_EXPR:
    5881            0 :             {
    5882            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    5883            0 :               tree _q31 = TREE_OPERAND (_p1, 1);
    5884            0 :               {
    5885            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
    5886            0 :                 tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5887            0 :                 if (res) return res;
    5888              :               }
    5889            0 :               break;
    5890              :             }
    5891              :           default:;
    5892              :           }
    5893              :         break;
    5894              :       }
    5895     26737452 :     default:;
    5896              :     }
    5897     26737452 :   switch (TREE_CODE (_p1))
    5898              :     {
    5899         3391 :     case MINUS_EXPR:
    5900         3391 :       {
    5901         3391 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5902         3391 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5903         3391 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5904              :           {
    5905            0 :             {
    5906            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    5907            0 :               tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5908            0 :               if (res) return res;
    5909              :             }
    5910              :           }
    5911              :         break;
    5912              :       }
    5913     26737452 :     default:;
    5914              :     }
    5915     26737452 :   switch (TREE_CODE (_p0))
    5916              :     {
    5917         4369 :     case TRUNC_DIV_EXPR:
    5918         4369 :       {
    5919         4369 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5920         4369 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5921         4369 :         if (integer_zerop (_p1))
    5922              :           {
    5923          331 :             {
    5924          331 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    5925          331 :               tree res = generic_simplify_228 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    5926          331 :               if (res) return res;
    5927              :             }
    5928              :           }
    5929              :         break;
    5930              :       }
    5931      5062059 :     CASE_CONVERT:
    5932      5062059 :       {
    5933      5062059 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5934      5062059 :         switch (TREE_CODE (_p1))
    5935              :           {
    5936      1543166 :           CASE_CONVERT:
    5937      1543166 :             {
    5938      1543166 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5939      1543166 :               switch (TREE_CODE (_q40))
    5940              :                 {
    5941            0 :                 case MINUS_EXPR:
    5942            0 :                   {
    5943            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5944            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    5945            0 :                     switch (TREE_CODE (_q50))
    5946              :                       {
    5947            0 :                       case INTEGER_CST:
    5948            0 :                         {
    5949            0 :                           switch (TREE_CODE (_q51))
    5950              :                             {
    5951            0 :                             CASE_CONVERT:
    5952            0 :                               {
    5953            0 :                                 tree _q70 = TREE_OPERAND (_q51, 0);
    5954            0 :                                 if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
    5955              :                                   {
    5956            0 :                                     {
    5957            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    5958            0 :                                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    5959            0 :                                       if (res) return res;
    5960              :                                     }
    5961              :                                   }
    5962              :                                 break;
    5963              :                               }
    5964              :                             default:;
    5965              :                             }
    5966              :                           break;
    5967              :                         }
    5968              :                       default:;
    5969              :                       }
    5970              :                     break;
    5971              :                   }
    5972              :                 default:;
    5973              :                 }
    5974              :               break;
    5975              :             }
    5976      5062059 :           default:;
    5977              :           }
    5978      5062059 :         switch (TREE_CODE (_q20))
    5979              :           {
    5980          244 :           case MINUS_EXPR:
    5981          244 :             {
    5982          244 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5983          244 :               tree _q31 = TREE_OPERAND (_q20, 1);
    5984          244 :               switch (TREE_CODE (_q30))
    5985              :                 {
    5986           56 :                 case INTEGER_CST:
    5987           56 :                   {
    5988           56 :                     switch (TREE_CODE (_q31))
    5989              :                       {
    5990            0 :                       CASE_CONVERT:
    5991            0 :                         {
    5992            0 :                           tree _q50 = TREE_OPERAND (_q31, 0);
    5993            0 :                           switch (TREE_CODE (_p1))
    5994              :                             {
    5995            0 :                             CASE_CONVERT:
    5996            0 :                               {
    5997            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    5998            0 :                                 if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
    5999              :                                   {
    6000            0 :                                     {
    6001            0 :                                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6002            0 :                                       tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6003            0 :                                       if (res) return res;
    6004              :                                     }
    6005              :                                   }
    6006              :                                 break;
    6007              :                               }
    6008            0 :                             default:;
    6009              :                             }
    6010            0 :                           if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
    6011              :                             {
    6012            0 :                               {
    6013            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    6014            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6015            0 :                                 if (res) return res;
    6016              :                               }
    6017              :                             }
    6018              :                           break;
    6019              :                         }
    6020           56 :                       default:;
    6021              :                       }
    6022           56 :                     switch (TREE_CODE (_p1))
    6023              :                       {
    6024            0 :                       CASE_CONVERT:
    6025            0 :                         {
    6026            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6027            0 :                           if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
    6028              :                             {
    6029            0 :                               {
    6030            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6031            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6032            0 :                                 if (res) return res;
    6033              :                               }
    6034              :                             }
    6035              :                           break;
    6036              :                         }
    6037           56 :                       default:;
    6038              :                       }
    6039           56 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    6040              :                       {
    6041            0 :                         {
    6042            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
    6043            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6044            0 :                           if (res) return res;
    6045              :                         }
    6046              :                       }
    6047              :                     break;
    6048              :                   }
    6049              :                 default:;
    6050              :                 }
    6051              :               break;
    6052              :             }
    6053      5062059 :           default:;
    6054              :           }
    6055      5062059 :         switch (TREE_CODE (_p1))
    6056              :           {
    6057      1543166 :           CASE_CONVERT:
    6058      1543166 :             {
    6059      1543166 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6060      1543166 :               switch (TREE_CODE (_q40))
    6061              :                 {
    6062            0 :                 case MINUS_EXPR:
    6063            0 :                   {
    6064            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    6065            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    6066            0 :                     switch (TREE_CODE (_q50))
    6067              :                       {
    6068            0 :                       case INTEGER_CST:
    6069            0 :                         {
    6070            0 :                           if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6071              :                             {
    6072            0 :                               {
    6073            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    6074            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6075            0 :                                 if (res) return res;
    6076              :                               }
    6077              :                             }
    6078              :                           break;
    6079              :                         }
    6080              :                       default:;
    6081              :                       }
    6082              :                     break;
    6083              :                   }
    6084              :                 default:;
    6085              :                 }
    6086              :               break;
    6087              :             }
    6088          273 :           case MINUS_EXPR:
    6089          273 :             {
    6090          273 :               tree _q40 = TREE_OPERAND (_p1, 0);
    6091          273 :               tree _q41 = TREE_OPERAND (_p1, 1);
    6092          273 :               switch (TREE_CODE (_q40))
    6093              :                 {
    6094           70 :                 case INTEGER_CST:
    6095           70 :                   {
    6096           70 :                     switch (TREE_CODE (_q41))
    6097              :                       {
    6098           12 :                       CASE_CONVERT:
    6099           12 :                         {
    6100           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6101           12 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    6102              :                             {
    6103            0 :                               {
    6104            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6105            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6106            0 :                                 if (res) return res;
    6107              :                               }
    6108              :                             }
    6109              :                           break;
    6110              :                         }
    6111           70 :                       default:;
    6112              :                       }
    6113           70 :                     if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    6114              :                       {
    6115            0 :                         {
    6116            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    6117            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6118            0 :                           if (res) return res;
    6119              :                         }
    6120              :                       }
    6121              :                     break;
    6122              :                   }
    6123              :                 default:;
    6124              :                 }
    6125              :               break;
    6126              :             }
    6127              :           default:;
    6128              :           }
    6129              :         break;
    6130              :       }
    6131       152212 :     case MINUS_EXPR:
    6132       152212 :       {
    6133       152212 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6134       152212 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6135       152212 :         switch (TREE_CODE (_q20))
    6136              :           {
    6137        40790 :           case INTEGER_CST:
    6138        40790 :             {
    6139        40790 :               switch (TREE_CODE (_q21))
    6140              :                 {
    6141        23849 :                 CASE_CONVERT:
    6142        23849 :                   {
    6143        23849 :                     tree _q40 = TREE_OPERAND (_q21, 0);
    6144        23849 :                     switch (TREE_CODE (_p1))
    6145              :                       {
    6146            0 :                       CASE_CONVERT:
    6147            0 :                         {
    6148            0 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    6149            0 :                           if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
    6150              :                             {
    6151            0 :                               {
    6152            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6153            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6154            0 :                                 if (res) return res;
    6155              :                               }
    6156              :                             }
    6157              :                           break;
    6158              :                         }
    6159        23849 :                       default:;
    6160              :                       }
    6161        23849 :                     if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    6162              :                       {
    6163            0 :                         {
    6164            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    6165            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6166            0 :                           if (res) return res;
    6167              :                         }
    6168              :                       }
    6169              :                     break;
    6170              :                   }
    6171        40790 :                 default:;
    6172              :                 }
    6173        40790 :               switch (TREE_CODE (_p1))
    6174              :                 {
    6175           22 :                 CASE_CONVERT:
    6176           22 :                   {
    6177           22 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    6178           22 :                     if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6179              :                       {
    6180            0 :                         {
    6181            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6182            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6183            0 :                           if (res) return res;
    6184              :                         }
    6185              :                       }
    6186              :                     break;
    6187              :                   }
    6188        40790 :                 default:;
    6189              :                 }
    6190        40790 :               if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6191              :                 {
    6192            2 :                   {
    6193            2 :                     tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6194            2 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6195            2 :                     if (res) return res;
    6196              :                   }
    6197              :                 }
    6198              :               break;
    6199              :             }
    6200              :           default:;
    6201              :           }
    6202              :         break;
    6203              :       }
    6204     26737214 :     default:;
    6205              :     }
    6206     26737214 :   switch (TREE_CODE (_p1))
    6207              :     {
    6208      1830812 :     CASE_CONVERT:
    6209      1830812 :       {
    6210      1830812 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6211      1830812 :         switch (TREE_CODE (_q30))
    6212              :           {
    6213           12 :           case MINUS_EXPR:
    6214           12 :             {
    6215           12 :               tree _q40 = TREE_OPERAND (_q30, 0);
    6216           12 :               tree _q41 = TREE_OPERAND (_q30, 1);
    6217           12 :               switch (TREE_CODE (_q40))
    6218              :                 {
    6219           12 :                 case INTEGER_CST:
    6220           12 :                   {
    6221           12 :                     switch (TREE_CODE (_q41))
    6222              :                       {
    6223           12 :                       CASE_CONVERT:
    6224           12 :                         {
    6225           12 :                           tree _q60 = TREE_OPERAND (_q41, 0);
    6226           12 :                           if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
    6227              :                             {
    6228            0 :                               {
    6229            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6230            0 :                                 tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6231            0 :                                 if (res) return res;
    6232              :                               }
    6233              :                             }
    6234              :                           break;
    6235              :                         }
    6236           12 :                       default:;
    6237              :                       }
    6238           12 :                     if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
    6239              :                       {
    6240            0 :                         {
    6241            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
    6242            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6243            0 :                           if (res) return res;
    6244              :                         }
    6245              :                       }
    6246              :                     break;
    6247              :                   }
    6248              :                 default:;
    6249              :                 }
    6250              :               break;
    6251              :             }
    6252              :           default:;
    6253              :           }
    6254              :         break;
    6255              :       }
    6256         3391 :     case MINUS_EXPR:
    6257         3391 :       {
    6258         3391 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6259         3391 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6260         3391 :         switch (TREE_CODE (_q30))
    6261              :           {
    6262          208 :           case INTEGER_CST:
    6263          208 :             {
    6264          208 :               switch (TREE_CODE (_q31))
    6265              :                 {
    6266           16 :                 CASE_CONVERT:
    6267           16 :                   {
    6268           16 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    6269           16 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    6270              :                       {
    6271            0 :                         {
    6272            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6273            0 :                           tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6274            0 :                           if (res) return res;
    6275              :                         }
    6276              :                       }
    6277              :                     break;
    6278              :                   }
    6279          208 :                 default:;
    6280              :                 }
    6281          208 :               if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6282              :                 {
    6283            0 :                   {
    6284            0 :                     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6285            0 :                     tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6286            0 :                     if (res) return res;
    6287              :                   }
    6288              :                 }
    6289              :               break;
    6290              :             }
    6291              :           default:;
    6292              :           }
    6293              :         break;
    6294              :       }
    6295     26737214 :     default:;
    6296              :     }
    6297     26737214 :   switch (TREE_CODE (_p0))
    6298              :     {
    6299         1130 :     case LT_EXPR:
    6300         1130 :       {
    6301         1130 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6302         1130 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6303         1130 :         switch (TREE_CODE (_p1))
    6304              :           {
    6305           16 :           case GT_EXPR:
    6306           16 :             {
    6307           16 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6308           16 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6309           16 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6310              :                 {
    6311            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6312              :                     {
    6313            0 :                       {
    6314            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6315            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6316            0 :                         if (res) return res;
    6317              :                       }
    6318              :                     }
    6319              :                 }
    6320              :               break;
    6321              :             }
    6322            0 :           case EQ_EXPR:
    6323            0 :             {
    6324            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6325            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6326            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6327              :                 {
    6328            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6329              :                     {
    6330            0 :                       {
    6331            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6332            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6333            0 :                         if (res) return res;
    6334              :                       }
    6335              :                     }
    6336              :                 }
    6337              :               break;
    6338              :             }
    6339            2 :           case NE_EXPR:
    6340            2 :             {
    6341            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6342            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6343            2 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6344              :                 {
    6345            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6346              :                     {
    6347            0 :                       {
    6348            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6349            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6350            0 :                         if (res) return res;
    6351              :                       }
    6352              :                     }
    6353              :                 }
    6354              :               break;
    6355              :             }
    6356              :           default:;
    6357              :           }
    6358              :         break;
    6359              :       }
    6360         1547 :     case LE_EXPR:
    6361         1547 :       {
    6362         1547 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6363         1547 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6364         1547 :         switch (TREE_CODE (_p1))
    6365              :           {
    6366            5 :           case GE_EXPR:
    6367            5 :             {
    6368            5 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6369            5 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6370            5 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6371              :                 {
    6372            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6373              :                     {
    6374            0 :                       {
    6375            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6376            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6377            0 :                         if (res) return res;
    6378              :                       }
    6379              :                     }
    6380              :                 }
    6381              :               break;
    6382              :             }
    6383            0 :           case EQ_EXPR:
    6384            0 :             {
    6385            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6386            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6387            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6388              :                 {
    6389            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6390              :                     {
    6391            0 :                       {
    6392            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6393            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6394            0 :                         if (res) return res;
    6395              :                       }
    6396              :                     }
    6397              :                 }
    6398              :               break;
    6399              :             }
    6400            8 :           case NE_EXPR:
    6401            8 :             {
    6402            8 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6403            8 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6404            8 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6405              :                 {
    6406            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6407              :                     {
    6408            0 :                       {
    6409            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6410            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6411            0 :                         if (res) return res;
    6412              :                       }
    6413              :                     }
    6414              :                 }
    6415              :               break;
    6416              :             }
    6417              :           default:;
    6418              :           }
    6419              :         break;
    6420              :       }
    6421        64891 :     case GT_EXPR:
    6422        64891 :       {
    6423        64891 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6424        64891 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6425        64891 :         switch (TREE_CODE (_p1))
    6426              :           {
    6427        63144 :           case GT_EXPR:
    6428        63144 :             {
    6429        63144 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6430        63144 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6431        63144 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6432              :                 {
    6433           12 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6434              :                     {
    6435            0 :                       {
    6436            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6437            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6438            0 :                         if (res) return res;
    6439              :                       }
    6440            0 :                       {
    6441            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6442            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6443            0 :                         if (res) return res;
    6444              :                       }
    6445              :                     }
    6446              :                 }
    6447              :               break;
    6448              :             }
    6449           57 :           case EQ_EXPR:
    6450           57 :             {
    6451           57 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6452           57 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6453           57 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6454              :                 {
    6455            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6456              :                     {
    6457            0 :                       {
    6458            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6459            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6460            0 :                         if (res) return res;
    6461              :                       }
    6462              :                     }
    6463              :                 }
    6464              :               break;
    6465              :             }
    6466           37 :           case NE_EXPR:
    6467           37 :             {
    6468           37 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6469           37 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6470           37 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6471              :                 {
    6472            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6473              :                     {
    6474            0 :                       {
    6475            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6476            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6477            0 :                         if (res) return res;
    6478              :                       }
    6479              :                     }
    6480              :                 }
    6481              :               break;
    6482              :             }
    6483           41 :           case LT_EXPR:
    6484           41 :             {
    6485           41 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6486           41 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6487           41 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6488              :                 {
    6489            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6490              :                     {
    6491            0 :                       {
    6492            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6493            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR, EQ_EXPR);
    6494            0 :                         if (res) return res;
    6495              :                       }
    6496              :                     }
    6497              :                 }
    6498              :               break;
    6499              :             }
    6500              :           default:;
    6501              :           }
    6502              :         break;
    6503              :       }
    6504         6756 :     case GE_EXPR:
    6505         6756 :       {
    6506         6756 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6507         6756 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6508         6756 :         switch (TREE_CODE (_p1))
    6509              :           {
    6510           26 :           case GE_EXPR:
    6511           26 :             {
    6512           26 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6513           26 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6514           26 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6515              :                 {
    6516            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6517              :                     {
    6518            0 :                       {
    6519            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6520            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6521            0 :                         if (res) return res;
    6522              :                       }
    6523            0 :                       {
    6524            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6525            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6526            0 :                         if (res) return res;
    6527              :                       }
    6528              :                     }
    6529              :                 }
    6530              :               break;
    6531              :             }
    6532           90 :           case EQ_EXPR:
    6533           90 :             {
    6534           90 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6535           90 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6536           90 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6537              :                 {
    6538            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6539              :                     {
    6540            0 :                       {
    6541            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6542            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6543            0 :                         if (res) return res;
    6544              :                       }
    6545              :                     }
    6546              :                 }
    6547              :               break;
    6548              :             }
    6549           56 :           case NE_EXPR:
    6550           56 :             {
    6551           56 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6552           56 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6553           56 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6554              :                 {
    6555            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6556              :                     {
    6557            0 :                       {
    6558            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6559            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6560            0 :                         if (res) return res;
    6561              :                       }
    6562              :                     }
    6563              :                 }
    6564              :               break;
    6565              :             }
    6566            6 :           case LE_EXPR:
    6567            6 :             {
    6568            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6569            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6570            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6571              :                 {
    6572            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6573              :                     {
    6574            0 :                       {
    6575            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6576            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR, EQ_EXPR);
    6577            0 :                         if (res) return res;
    6578              :                       }
    6579              :                     }
    6580              :                 }
    6581              :               break;
    6582              :             }
    6583              :           default:;
    6584              :           }
    6585              :         break;
    6586              :       }
    6587        32145 :     case EQ_EXPR:
    6588        32145 :       {
    6589        32145 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6590        32145 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6591        32145 :         switch (TREE_CODE (_p1))
    6592              :           {
    6593            4 :           case LT_EXPR:
    6594            4 :             {
    6595            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6596            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6597            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6598              :                 {
    6599            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6600              :                     {
    6601            0 :                       {
    6602            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6603            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6604            0 :                         if (res) return res;
    6605              :                       }
    6606              :                     }
    6607              :                 }
    6608              :               break;
    6609              :             }
    6610            4 :           case LE_EXPR:
    6611            4 :             {
    6612            4 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6613            4 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6614            4 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6615              :                 {
    6616            4 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6617              :                     {
    6618            0 :                       {
    6619            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6620            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6621            0 :                         if (res) return res;
    6622              :                       }
    6623              :                     }
    6624              :                 }
    6625              :               break;
    6626              :             }
    6627           75 :           case GT_EXPR:
    6628           75 :             {
    6629           75 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6630           75 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6631           75 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6632              :                 {
    6633            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6634              :                     {
    6635            0 :                       {
    6636            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6637            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GT_EXPR);
    6638            0 :                         if (res) return res;
    6639              :                       }
    6640              :                     }
    6641              :                 }
    6642              :               break;
    6643              :             }
    6644          112 :           case GE_EXPR:
    6645          112 :             {
    6646          112 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6647          112 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6648          112 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6649              :                 {
    6650            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6651              :                     {
    6652            0 :                       {
    6653            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6654            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR, GE_EXPR);
    6655            0 :                         if (res) return res;
    6656              :                       }
    6657              :                     }
    6658              :                 }
    6659              :               break;
    6660              :             }
    6661              :           default:;
    6662              :           }
    6663              :         break;
    6664              :       }
    6665        11930 :     case NE_EXPR:
    6666        11930 :       {
    6667        11930 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6668        11930 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6669        11930 :         switch (TREE_CODE (_p1))
    6670              :           {
    6671            3 :           case LT_EXPR:
    6672            3 :             {
    6673            3 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6674            3 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6675            3 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6676              :                 {
    6677            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6678              :                     {
    6679            0 :                       {
    6680            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6681            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6682            0 :                         if (res) return res;
    6683              :                       }
    6684              :                     }
    6685              :                 }
    6686              :               break;
    6687              :             }
    6688            0 :           case LE_EXPR:
    6689            0 :             {
    6690            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6691            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6692            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6693              :                 {
    6694            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6695              :                     {
    6696            0 :                       {
    6697            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6698            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6699            0 :                         if (res) return res;
    6700              :                       }
    6701              :                     }
    6702              :                 }
    6703              :               break;
    6704              :             }
    6705           21 :           case GT_EXPR:
    6706           21 :             {
    6707           21 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6708           21 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6709           21 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6710              :                 {
    6711            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6712              :                     {
    6713            0 :                       {
    6714            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6715            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR, LE_EXPR);
    6716            0 :                         if (res) return res;
    6717              :                       }
    6718              :                     }
    6719              :                 }
    6720              :               break;
    6721              :             }
    6722            2 :           case GE_EXPR:
    6723            2 :             {
    6724            2 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6725            2 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6726            2 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6727              :                 {
    6728            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6729              :                     {
    6730            0 :                       {
    6731            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6732            0 :                         tree res = generic_simplify_231 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR, LT_EXPR);
    6733            0 :                         if (res) return res;
    6734              :                       }
    6735              :                     }
    6736              :                 }
    6737              :               break;
    6738              :             }
    6739              :           default:;
    6740              :           }
    6741              :         break;
    6742              :       }
    6743        10375 :     case MIN_EXPR:
    6744        10375 :       {
    6745        10375 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6746        10375 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6747        10375 :         switch (TREE_CODE (_p1))
    6748              :           {
    6749            0 :           case MAX_EXPR:
    6750            0 :             {
    6751            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6752            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6753            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6754              :                 {
    6755            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6756              :                     {
    6757            0 :                       {
    6758            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6759            0 :                         if (!HONOR_NANS (captures[0])
    6760              : )
    6761              :                           {
    6762            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
    6763            0 :                             {
    6764            0 :                               tree res_op0;
    6765            0 :                               res_op0 = captures[0];
    6766            0 :                               tree res_op1;
    6767            0 :                               res_op1 = captures[1];
    6768            0 :                               tree _r;
    6769            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6770            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    6771            0 :                               return _r;
    6772              :                             }
    6773            0 : next_after_fail1502:;
    6774              :                           }
    6775              :                       }
    6776              :                     }
    6777              :                 }
    6778            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6779              :                 {
    6780            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6781              :                     {
    6782            0 :                       {
    6783            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6784            0 :                         if (!HONOR_NANS (captures[0])
    6785              : )
    6786              :                           {
    6787            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
    6788            0 :                             {
    6789            0 :                               tree res_op0;
    6790            0 :                               res_op0 = captures[0];
    6791            0 :                               tree res_op1;
    6792            0 :                               res_op1 = captures[1];
    6793            0 :                               tree _r;
    6794            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6795            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    6796            0 :                               return _r;
    6797              :                             }
    6798            0 : next_after_fail1503:;
    6799              :                           }
    6800              :                       }
    6801              :                     }
    6802              :                 }
    6803              :               break;
    6804              :             }
    6805        10375 :           default:;
    6806              :           }
    6807        10375 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6808              :           {
    6809            0 :             {
    6810            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6811            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6812            0 :               if (res) return res;
    6813              :             }
    6814              :           }
    6815        10375 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6816              :           {
    6817            0 :             {
    6818            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6819            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6820            0 :               if (res) return res;
    6821              :             }
    6822              :           }
    6823              :         break;
    6824              :       }
    6825          658 :     case MAX_EXPR:
    6826          658 :       {
    6827          658 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6828          658 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6829          658 :         switch (TREE_CODE (_p1))
    6830              :           {
    6831            0 :           case MIN_EXPR:
    6832            0 :             {
    6833            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    6834            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    6835            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    6836              :                 {
    6837            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    6838              :                     {
    6839            0 :                       {
    6840            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6841            0 :                         if (!HONOR_NANS (captures[0])
    6842              : )
    6843              :                           {
    6844            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
    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, EQ_EXPR, type, res_op0, res_op1);
    6852            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    6853            0 :                               return _r;
    6854              :                             }
    6855            0 : next_after_fail1504:;
    6856              :                           }
    6857              :                       }
    6858              :                     }
    6859              :                 }
    6860            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    6861              :                 {
    6862            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    6863              :                     {
    6864            0 :                       {
    6865            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6866            0 :                         if (!HONOR_NANS (captures[0])
    6867              : )
    6868              :                           {
    6869            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
    6870            0 :                             {
    6871            0 :                               tree res_op0;
    6872            0 :                               res_op0 = captures[0];
    6873            0 :                               tree res_op1;
    6874            0 :                               res_op1 = captures[1];
    6875            0 :                               tree _r;
    6876            0 :                               _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    6877            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    6878            0 :                               return _r;
    6879              :                             }
    6880            0 : next_after_fail1505:;
    6881              :                           }
    6882              :                       }
    6883              :                     }
    6884              :                 }
    6885              :               break;
    6886              :             }
    6887          658 :           default:;
    6888              :           }
    6889          658 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6890              :           {
    6891            0 :             {
    6892            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    6893            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6894            0 :               if (res) return res;
    6895              :             }
    6896              :           }
    6897          658 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    6898              :           {
    6899            1 :             {
    6900            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    6901            1 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6902            1 :               if (res) return res;
    6903              :             }
    6904              :           }
    6905              :         break;
    6906              :       }
    6907     26737214 :     default:;
    6908              :     }
    6909     26737214 : if (tree_with_possible_nonzero_bits (_p0))
    6910              :   {
    6911      9465584 :     if (tree_with_known_nonzero_bits (_p1))
    6912              :       {
    6913      8078232 :         {
    6914      8078232 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    6915      8078232 :           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6916      8078232 :           if (res) return res;
    6917              :         }
    6918              :       }
    6919              :   }
    6920     26718404 : if (tree_with_known_nonzero_bits (_p0))
    6921              :   {
    6922      6146269 :     if (tree_with_possible_nonzero_bits (_p1))
    6923              :       {
    6924      6114056 :         {
    6925      6114056 :           tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
    6926      6114056 :           tree res = generic_simplify_230 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6927      6114056 :           if (res) return res;
    6928              :         }
    6929              :       }
    6930              :   }
    6931     26717999 :   switch (TREE_CODE (_p1))
    6932              :     {
    6933          146 :     case MIN_EXPR:
    6934          146 :       {
    6935          146 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6936          146 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6937          146 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6938              :           {
    6939            0 :             {
    6940            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6941            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6942            0 :               if (res) return res;
    6943              :             }
    6944              :           }
    6945          146 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6946              :           {
    6947            0 :             {
    6948            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6949            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MIN_EXPR, EQ_EXPR, LE_EXPR);
    6950            0 :               if (res) return res;
    6951              :             }
    6952              :           }
    6953              :         break;
    6954              :       }
    6955           58 :     case MAX_EXPR:
    6956           58 :       {
    6957           58 :         tree _q30 = TREE_OPERAND (_p1, 0);
    6958           58 :         tree _q31 = TREE_OPERAND (_p1, 1);
    6959           58 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6960              :           {
    6961            0 :             {
    6962            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    6963            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6964            0 :               if (res) return res;
    6965              :             }
    6966              :           }
    6967           58 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    6968              :           {
    6969            0 :             {
    6970            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    6971            0 :               tree res = generic_simplify_232 (loc, type, _p0, _p1, captures, MAX_EXPR, EQ_EXPR, GE_EXPR);
    6972            0 :               if (res) return res;
    6973              :             }
    6974              :           }
    6975              :         break;
    6976              :       }
    6977     26717999 :     default:;
    6978              :     }
    6979     26717999 :   switch (TREE_CODE (_p0))
    6980              :     {
    6981        10375 :     case MIN_EXPR:
    6982        10375 :       {
    6983        10375 :         tree _q20 = TREE_OPERAND (_p0, 0);
    6984        10375 :         tree _q21 = TREE_OPERAND (_p0, 1);
    6985        10375 :         switch (TREE_CODE (_q21))
    6986              :           {
    6987          163 :           case INTEGER_CST:
    6988          163 :             {
    6989          163 :               switch (TREE_CODE (_p1))
    6990              :                 {
    6991            0 :                 case INTEGER_CST:
    6992            0 :                   {
    6993            0 :                     {
    6994            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    6995            0 :                       tree res = generic_simplify_233 (loc, type, _p0, _p1, captures, EQ_EXPR);
    6996            0 :                       if (res) return res;
    6997              :                     }
    6998            0 :                     break;
    6999              :                   }
    7000              :                 default:;
    7001              :                 }
    7002              :               break;
    7003              :             }
    7004              :           default:;
    7005              :           }
    7006              :         break;
    7007              :       }
    7008          658 :     case MAX_EXPR:
    7009          658 :       {
    7010          658 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7011          658 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7012          658 :         switch (TREE_CODE (_q21))
    7013              :           {
    7014          417 :           case INTEGER_CST:
    7015          417 :             {
    7016          417 :               switch (TREE_CODE (_p1))
    7017              :                 {
    7018           42 :                 case INTEGER_CST:
    7019           42 :                   {
    7020           42 :                     {
    7021           42 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7022           42 :                       tree res = generic_simplify_234 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7023           42 :                       if (res) return res;
    7024              :                     }
    7025            0 :                     break;
    7026              :                   }
    7027              :                 default:;
    7028              :                 }
    7029              :               break;
    7030              :             }
    7031          616 :           default:;
    7032              :           }
    7033          616 :         if (integer_zerop (_p1))
    7034              :           {
    7035           11 :             {
    7036           11 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7037           11 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7038           11 :               if (res) return res;
    7039              :             }
    7040              :           }
    7041              :         break;
    7042              :       }
    7043       815820 :     case BIT_AND_EXPR:
    7044       815820 :       {
    7045       815820 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7046       815820 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7047       815820 :         switch (TREE_CODE (_q20))
    7048              :           {
    7049          777 :           case LSHIFT_EXPR:
    7050          777 :             {
    7051          777 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7052          777 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7053          777 :               if (integer_pow2p (_q30))
    7054              :                 {
    7055          769 :                   if (integer_pow2p (_q21))
    7056              :                     {
    7057            1 :                       if (integer_zerop (_p1))
    7058              :                         {
    7059            1 :                           {
    7060            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7061            1 :                             tree res = generic_simplify_236 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7062            1 :                             if (res) return res;
    7063              :                           }
    7064              :                         }
    7065              :                     }
    7066              :                 }
    7067          776 :               switch (TREE_CODE (_q31))
    7068              :                 {
    7069            0 :                 case INTEGER_CST:
    7070            0 :                   {
    7071            0 :                     switch (TREE_CODE (_q21))
    7072              :                       {
    7073            0 :                       case INTEGER_CST:
    7074            0 :                         {
    7075            0 :                           switch (TREE_CODE (_p1))
    7076              :                             {
    7077            0 :                             case INTEGER_CST:
    7078            0 :                               {
    7079            0 :                                 {
    7080            0 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7081            0 :                                   tree res = generic_simplify_237 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7082            0 :                                   if (res) return res;
    7083              :                                 }
    7084            0 :                                 break;
    7085              :                               }
    7086              :                             default:;
    7087              :                             }
    7088              :                           break;
    7089              :                         }
    7090              :                       default:;
    7091              :                       }
    7092              :                     break;
    7093              :                   }
    7094          776 :                 default:;
    7095              :                 }
    7096          776 :               if (integer_onep (_q30))
    7097              :                 {
    7098          768 :                   if (integer_pow2p (_q21))
    7099              :                     {
    7100            0 :                       if (integer_zerop (_p1))
    7101              :                         {
    7102            0 :                           {
    7103            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
    7104            0 :                             tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7105            0 :                             if (res) return res;
    7106              :                           }
    7107              :                         }
    7108              :                     }
    7109              :                 }
    7110              :               break;
    7111              :             }
    7112         2836 :           case RSHIFT_EXPR:
    7113         2836 :             {
    7114         2836 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7115         2836 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7116         2836 :               if (integer_pow2p (_q30))
    7117              :                 {
    7118            1 :                   if (integer_pow2p (_q21))
    7119              :                     {
    7120            1 :                       if (integer_zerop (_p1))
    7121              :                         {
    7122            1 :                           {
    7123            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
    7124            1 :                             tree res = generic_simplify_239 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7125            1 :                             if (res) return res;
    7126              :                           }
    7127              :                         }
    7128              :                     }
    7129              :                 }
    7130         2835 :               switch (TREE_CODE (_q31))
    7131              :                 {
    7132          472 :                 case INTEGER_CST:
    7133          472 :                   {
    7134          472 :                     switch (TREE_CODE (_q21))
    7135              :                       {
    7136          472 :                       case INTEGER_CST:
    7137          472 :                         {
    7138          472 :                           switch (TREE_CODE (_p1))
    7139              :                             {
    7140          472 :                             case INTEGER_CST:
    7141          472 :                               {
    7142          472 :                                 {
    7143          472 :                                   tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
    7144          472 :                                   tree res = generic_simplify_240 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7145          472 :                                   if (res) return res;
    7146              :                                 }
    7147            0 :                                 break;
    7148              :                               }
    7149              :                             default:;
    7150              :                             }
    7151              :                           break;
    7152              :                         }
    7153              :                       default:;
    7154              :                       }
    7155              :                     break;
    7156              :                   }
    7157              :                 default:;
    7158              :                 }
    7159              :               break;
    7160              :             }
    7161       815346 :           default:;
    7162              :           }
    7163       815346 :       {
    7164       815346 :         tree _q20_pops[1];
    7165       815346 :         if (tree_nop_convert (_q20, _q20_pops))
    7166              :           {
    7167        20829 :             tree _q30 = _q20_pops[0];
    7168        20829 :             switch (TREE_CODE (_q30))
    7169              :               {
    7170            0 :               case LSHIFT_EXPR:
    7171            0 :                 {
    7172            0 :                   tree _q40 = TREE_OPERAND (_q30, 0);
    7173            0 :                   tree _q41 = TREE_OPERAND (_q30, 1);
    7174            0 :                   if (integer_onep (_q40))
    7175              :                     {
    7176            0 :                       if (integer_pow2p (_q21))
    7177              :                         {
    7178            0 :                           if (integer_zerop (_p1))
    7179              :                             {
    7180            0 :                               {
    7181            0 :                                 tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
    7182            0 :                                 tree res = generic_simplify_238 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    7183            0 :                                 if (res) return res;
    7184              :                               }
    7185              :                             }
    7186              :                         }
    7187              :                     }
    7188              :                   break;
    7189              :                 }
    7190              :               default:;
    7191              :               }
    7192              :           }
    7193              :       }
    7194       815346 :         break;
    7195              :       }
    7196         1726 :     case LSHIFT_EXPR:
    7197         1726 :       {
    7198         1726 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7199         1726 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7200         1726 :         switch (TREE_CODE (_q20))
    7201              :           {
    7202          316 :           case INTEGER_CST:
    7203          316 :             {
    7204          316 :               switch (TREE_CODE (_p1))
    7205              :                 {
    7206           20 :                 case INTEGER_CST:
    7207           20 :                   {
    7208           20 :                     {
    7209           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7210           20 :                       tree res = generic_simplify_241 (loc, type, _p0, _p1, captures, EQ_EXPR);
    7211           20 :                       if (res) return res;
    7212              :                     }
    7213            3 :                     break;
    7214              :                   }
    7215              :                 default:;
    7216              :                 }
    7217              :               break;
    7218              :             }
    7219              :           default:;
    7220              :           }
    7221              :         break;
    7222              :       }
    7223            0 :     case LROTATE_EXPR:
    7224            0 :       {
    7225            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7226            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7227            0 :         switch (TREE_CODE (_p1))
    7228              :           {
    7229            0 :           case LROTATE_EXPR:
    7230            0 :             {
    7231            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7232            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7233            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7234              :                 {
    7235            0 :                   {
    7236            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7237            0 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7238            0 :                     if (res) return res;
    7239              :                   }
    7240              :                 }
    7241              :               break;
    7242              :             }
    7243            0 :           default:;
    7244              :           }
    7245            0 :         switch (TREE_CODE (_q21))
    7246              :           {
    7247            0 :           case INTEGER_CST:
    7248            0 :             {
    7249            0 :               switch (TREE_CODE (_p1))
    7250              :                 {
    7251            0 :                 case INTEGER_CST:
    7252            0 :                   {
    7253            0 :                     {
    7254            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7255            0 :                       tree res = generic_simplify_243 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7256            0 :                       if (res) return res;
    7257              :                     }
    7258            0 :                     break;
    7259              :                   }
    7260              :                 default:;
    7261              :                 }
    7262              :               break;
    7263              :             }
    7264            0 :           default:;
    7265              :           }
    7266            0 :         switch (TREE_CODE (_p1))
    7267              :           {
    7268            0 :           case INTEGER_CST:
    7269            0 :             {
    7270            0 :               {
    7271            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7272            0 :                 tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR);
    7273            0 :                 if (res) return res;
    7274              :               }
    7275            0 :               break;
    7276              :             }
    7277              :           default:;
    7278              :           }
    7279              :         break;
    7280              :       }
    7281           42 :     case RROTATE_EXPR:
    7282           42 :       {
    7283           42 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7284           42 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7285           42 :         switch (TREE_CODE (_p1))
    7286              :           {
    7287            0 :           case RROTATE_EXPR:
    7288            0 :             {
    7289            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7290            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7291            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7292              :                 {
    7293            0 :                   {
    7294            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7295            0 :                     tree res = generic_simplify_242 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7296            0 :                     if (res) return res;
    7297              :                   }
    7298              :                 }
    7299              :               break;
    7300              :             }
    7301           42 :           default:;
    7302              :           }
    7303           42 :         switch (TREE_CODE (_q21))
    7304              :           {
    7305           42 :           case INTEGER_CST:
    7306           42 :             {
    7307           42 :               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_243 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7314            0 :                       if (res) return res;
    7315              :                     }
    7316            0 :                     break;
    7317              :                   }
    7318              :                 default:;
    7319              :                 }
    7320              :               break;
    7321              :             }
    7322           42 :           default:;
    7323              :           }
    7324           42 :         switch (TREE_CODE (_p1))
    7325              :           {
    7326            0 :           case INTEGER_CST:
    7327            0 :             {
    7328            0 :               {
    7329            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7330            0 :                 tree res = generic_simplify_244 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR);
    7331            0 :                 if (res) return res;
    7332              :               }
    7333            0 :               break;
    7334              :             }
    7335              :           default:;
    7336              :           }
    7337              :         break;
    7338              :       }
    7339        65443 :     case MULT_EXPR:
    7340        65443 :       {
    7341        65443 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7342        65443 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7343        65443 :         switch (TREE_CODE (_q20))
    7344              :           {
    7345           66 :           case TRUNC_DIV_EXPR:
    7346           66 :             {
    7347           66 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7348           66 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7349           66 :               if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
    7350              :                 {
    7351           47 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    7352              :                     {
    7353           47 :                       {
    7354           47 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    7355           47 :                         tree res = generic_simplify_245 (loc, type, _p0, _p1, captures);
    7356           47 :                         if (res) return res;
    7357              :                       }
    7358              :                     }
    7359              :                 }
    7360              :               break;
    7361              :             }
    7362        65396 :           default:;
    7363              :           }
    7364        65396 :         switch (TREE_CODE (_q21))
    7365              :           {
    7366            0 :           case TRUNC_DIV_EXPR:
    7367            0 :             {
    7368            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    7369            0 :               tree _q41 = TREE_OPERAND (_q21, 1);
    7370            0 :               if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
    7371              :                 {
    7372            0 :                   if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    7373              :                     {
    7374            0 :                       {
    7375            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
    7376            0 :                         tree res = generic_simplify_245 (loc, type, _p0, _p1, captures);
    7377            0 :                         if (res) return res;
    7378              :                       }
    7379              :                     }
    7380              :                 }
    7381              :               break;
    7382              :             }
    7383              :           default:;
    7384              :           }
    7385              :         break;
    7386              :       }
    7387     26717419 :     default:;
    7388              :     }
    7389     26717419 :   switch (TREE_CODE (_p1))
    7390              :     {
    7391        14038 :     case MULT_EXPR:
    7392        14038 :       {
    7393        14038 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7394        14038 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7395        14038 :         switch (TREE_CODE (_q30))
    7396              :           {
    7397            0 :           case TRUNC_DIV_EXPR:
    7398            0 :             {
    7399            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
    7400            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
    7401            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    7402              :                 {
    7403            0 :                   if ((_q31 == _q41 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q41, 0) && types_match (_q31, _q41)))
    7404              :                     {
    7405            0 :                       {
    7406            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    7407            0 :                         tree res = generic_simplify_245 (loc, type, _p0, _p1, captures);
    7408            0 :                         if (res) return res;
    7409              :                       }
    7410              :                     }
    7411              :                 }
    7412              :               break;
    7413              :             }
    7414        14038 :           default:;
    7415              :           }
    7416        14038 :         switch (TREE_CODE (_q31))
    7417              :           {
    7418            0 :           case TRUNC_DIV_EXPR:
    7419            0 :             {
    7420            0 :               tree _q50 = TREE_OPERAND (_q31, 0);
    7421            0 :               tree _q51 = TREE_OPERAND (_q31, 1);
    7422            0 :               if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    7423              :                 {
    7424            0 :                   if ((_q51 == _q30 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q30, 0) && types_match (_q51, _q30)))
    7425              :                     {
    7426            0 :                       {
    7427            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
    7428            0 :                         tree res = generic_simplify_245 (loc, type, _p0, _p1, captures);
    7429            0 :                         if (res) return res;
    7430              :                       }
    7431              :                     }
    7432              :                 }
    7433              :               break;
    7434              :             }
    7435              :           default:;
    7436              :           }
    7437              :         break;
    7438              :       }
    7439     26717419 :     default:;
    7440              :     }
    7441     26717419 :   switch (TREE_CODE (_p0))
    7442              :     {
    7443          607 :     case VEC_COND_EXPR:
    7444          607 :       {
    7445          607 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7446          607 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7447          607 :         tree _q22 = TREE_OPERAND (_p0, 2);
    7448          607 :         switch (TREE_CODE (_p1))
    7449              :           {
    7450          107 :           case VEC_COND_EXPR:
    7451          107 :             {
    7452          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    7453          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    7454          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    7455          107 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    7456              :                 {
    7457           60 :                   {
    7458           60 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    7459           60 :                     if (VECTOR_TYPE_P (type)
    7460           60 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7461           60 :  || types_match (type, TREE_TYPE (captures[2]))
    7462           60 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7463              :  || (optimize_vectors_before_lowering_p ()
    7464            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7465              : )
    7466              :                       {
    7467           60 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
    7468           60 :                         {
    7469           60 :                           tree res_op0;
    7470           60 :                           res_op0 = captures[1];
    7471           60 :                           tree res_op1;
    7472           60 :                           {
    7473           60 :                             tree _o1[2], _r1;
    7474           60 :                             _o1[0] = captures[2];
    7475           60 :                             _o1[1] = captures[5];
    7476           60 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7477           60 :                             if (EXPR_P (_r1))
    7478           60 :                               goto next_after_fail1506;
    7479            0 :                             res_op1 = _r1;
    7480              :                           }
    7481            0 :                           tree res_op2;
    7482            0 :                           {
    7483            0 :                             tree _o1[2], _r1;
    7484            0 :                             _o1[0] = captures[3];
    7485            0 :                             _o1[1] = captures[6];
    7486            0 :                             _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7487            0 :                             if (EXPR_P (_r1))
    7488            0 :                               goto next_after_fail1506;
    7489            0 :                             res_op2 = _r1;
    7490              :                           }
    7491            0 :                           tree _r;
    7492            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7493            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    7494            0 :                           return _r;
    7495              :                         }
    7496           60 : next_after_fail1506:;
    7497              :                       }
    7498              :                   }
    7499              :                 }
    7500              :               break;
    7501              :             }
    7502          607 :           default:;
    7503              :           }
    7504          607 :         {
    7505          607 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    7506          607 :           if (VECTOR_TYPE_P (type)
    7507          607 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7508          607 :  || types_match (type, TREE_TYPE (captures[2]))
    7509          607 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    7510              :  || (optimize_vectors_before_lowering_p ()
    7511           79 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    7512              : )
    7513              :             {
    7514          607 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
    7515          607 :               {
    7516          607 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1507;
    7517           86 :                 tree res_op0;
    7518           86 :                 res_op0 = captures[1];
    7519           86 :                 tree res_op1;
    7520           86 :                 {
    7521           86 :                   tree _o1[2], _r1;
    7522           86 :                   _o1[0] = captures[2];
    7523           86 :                   _o1[1] = unshare_expr (captures[4]);
    7524           86 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7525           86 :                   if (EXPR_P (_r1))
    7526           48 :                     goto next_after_fail1507;
    7527           38 :                   res_op1 = _r1;
    7528              :                 }
    7529           38 :                 tree res_op2;
    7530           38 :                 {
    7531           38 :                   tree _o1[2], _r1;
    7532           38 :                   _o1[0] = captures[3];
    7533           38 :                   _o1[1] = captures[4];
    7534           38 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7535           38 :                   if (EXPR_P (_r1))
    7536           17 :                     goto next_after_fail1507;
    7537           21 :                   res_op2 = _r1;
    7538              :                 }
    7539           21 :                 tree _r;
    7540           21 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7541           21 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
    7542           21 :                 return _r;
    7543              :               }
    7544          586 : next_after_fail1507:;
    7545              :             }
    7546              :         }
    7547          586 :         break;
    7548              :       }
    7549      1926573 :     case CALL_EXPR:
    7550      1926573 :       switch (get_call_combined_fn (_p0))
    7551              :         {
    7552            1 :         case CFN_BUILT_IN_BITREVERSE128:
    7553            1 :           if (call_expr_nargs (_p0) == 1)
    7554              :     {
    7555            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7556            1 :               switch (TREE_CODE (_p1))
    7557              :                 {
    7558            1 :                 case INTEGER_CST:
    7559            1 :                   {
    7560            1 :                     {
    7561            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7562            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7563            1 :                       if (res) return res;
    7564              :                     }
    7565            1 :                     break;
    7566              :                   }
    7567            0 :                 case CALL_EXPR:
    7568            0 :                   switch (get_call_combined_fn (_p1))
    7569              :                     {
    7570            0 :                     case CFN_BUILT_IN_BITREVERSE128:
    7571            0 :                       if (call_expr_nargs (_p1) == 1)
    7572              :     {
    7573            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7574            0 :                           {
    7575            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7576            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE128);
    7577            0 :                             if (res) return res;
    7578              :                           }
    7579              :                         }
    7580              :                       break;
    7581              :                     default:;
    7582              :                     }
    7583              :                   break;
    7584              :                 default:;
    7585              :                 }
    7586              :             }
    7587              :           break;
    7588            1 :         case CFN_BUILT_IN_BITREVERSE16:
    7589            1 :           if (call_expr_nargs (_p0) == 1)
    7590              :     {
    7591            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7592            1 :               switch (TREE_CODE (_p1))
    7593              :                 {
    7594            1 :                 case INTEGER_CST:
    7595            1 :                   {
    7596            1 :                     {
    7597            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7598            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7599            1 :                       if (res) return res;
    7600              :                     }
    7601            1 :                     break;
    7602              :                   }
    7603            0 :                 case CALL_EXPR:
    7604            0 :                   switch (get_call_combined_fn (_p1))
    7605              :                     {
    7606            0 :                     case CFN_BUILT_IN_BITREVERSE16:
    7607            0 :                       if (call_expr_nargs (_p1) == 1)
    7608              :     {
    7609            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7610            0 :                           {
    7611            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7612            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE16);
    7613            0 :                             if (res) return res;
    7614              :                           }
    7615              :                         }
    7616              :                       break;
    7617              :                     default:;
    7618              :                     }
    7619              :                   break;
    7620              :                 default:;
    7621              :                 }
    7622              :             }
    7623              :           break;
    7624            1 :         case CFN_BUILT_IN_BITREVERSE32:
    7625            1 :           if (call_expr_nargs (_p0) == 1)
    7626              :     {
    7627            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7628            1 :               switch (TREE_CODE (_p1))
    7629              :                 {
    7630            1 :                 case INTEGER_CST:
    7631            1 :                   {
    7632            1 :                     {
    7633            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7634            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7635            1 :                       if (res) return res;
    7636              :                     }
    7637            1 :                     break;
    7638              :                   }
    7639            0 :                 case CALL_EXPR:
    7640            0 :                   switch (get_call_combined_fn (_p1))
    7641              :                     {
    7642            0 :                     case CFN_BUILT_IN_BITREVERSE32:
    7643            0 :                       if (call_expr_nargs (_p1) == 1)
    7644              :     {
    7645            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7646            0 :                           {
    7647            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7648            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE32);
    7649            0 :                             if (res) return res;
    7650              :                           }
    7651              :                         }
    7652              :                       break;
    7653              :                     default:;
    7654              :                     }
    7655              :                   break;
    7656              :                 default:;
    7657              :                 }
    7658              :             }
    7659              :           break;
    7660            1 :         case CFN_BUILT_IN_BITREVERSE64:
    7661            1 :           if (call_expr_nargs (_p0) == 1)
    7662              :     {
    7663            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7664            1 :               switch (TREE_CODE (_p1))
    7665              :                 {
    7666            1 :                 case INTEGER_CST:
    7667            1 :                   {
    7668            1 :                     {
    7669            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7670            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7671            1 :                       if (res) return res;
    7672              :                     }
    7673            1 :                     break;
    7674              :                   }
    7675            0 :                 case CALL_EXPR:
    7676            0 :                   switch (get_call_combined_fn (_p1))
    7677              :                     {
    7678            0 :                     case CFN_BUILT_IN_BITREVERSE64:
    7679            0 :                       if (call_expr_nargs (_p1) == 1)
    7680              :     {
    7681            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7682            0 :                           {
    7683            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7684            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE64);
    7685            0 :                             if (res) return res;
    7686              :                           }
    7687              :                         }
    7688              :                       break;
    7689              :                     default:;
    7690              :                     }
    7691              :                   break;
    7692              :                 default:;
    7693              :                 }
    7694              :             }
    7695              :           break;
    7696            0 :         case CFN_BITREVERSE:
    7697            0 :           if (call_expr_nargs (_p0) == 1)
    7698              :     {
    7699            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7700            0 :               switch (TREE_CODE (_p1))
    7701              :                 {
    7702            0 :                 case INTEGER_CST:
    7703            0 :                   {
    7704            0 :                     {
    7705            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7706            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    7707            0 :                       if (res) return res;
    7708              :                     }
    7709            0 :                     break;
    7710              :                   }
    7711            0 :                 case CALL_EXPR:
    7712            0 :                   switch (get_call_combined_fn (_p1))
    7713              :                     {
    7714            0 :                     case CFN_BITREVERSE:
    7715            0 :                       if (call_expr_nargs (_p1) == 1)
    7716              :     {
    7717            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7718            0 :                           {
    7719            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7720            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BITREVERSE);
    7721            0 :                             if (res) return res;
    7722              :                           }
    7723              :                         }
    7724              :                       break;
    7725              :                     default:;
    7726              :                     }
    7727              :                   break;
    7728              :                 default:;
    7729              :                 }
    7730              :             }
    7731              :           break;
    7732            0 :         case CFN_BSWAP:
    7733            0 :           if (call_expr_nargs (_p0) == 1)
    7734              :     {
    7735            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7736            0 :               switch (TREE_CODE (_p1))
    7737              :                 {
    7738            0 :                 case INTEGER_CST:
    7739            0 :                   {
    7740            0 :                     {
    7741            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7742            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    7743            0 :                       if (res) return res;
    7744              :                     }
    7745            0 :                     break;
    7746              :                   }
    7747            0 :                 case CALL_EXPR:
    7748            0 :                   switch (get_call_combined_fn (_p1))
    7749              :                     {
    7750            0 :                     case CFN_BSWAP:
    7751            0 :                       if (call_expr_nargs (_p1) == 1)
    7752              :     {
    7753            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7754            0 :                           {
    7755            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7756            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BSWAP);
    7757            0 :                             if (res) return res;
    7758              :                           }
    7759              :                         }
    7760              :                       break;
    7761              :                     default:;
    7762              :                     }
    7763              :                   break;
    7764              :                 default:;
    7765              :                 }
    7766              :             }
    7767              :           break;
    7768            0 :         case CFN_BUILT_IN_BSWAP128:
    7769            0 :           if (call_expr_nargs (_p0) == 1)
    7770              :     {
    7771            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7772            0 :               switch (TREE_CODE (_p1))
    7773              :                 {
    7774            0 :                 case INTEGER_CST:
    7775            0 :                   {
    7776            0 :                     {
    7777            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7778            0 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7779            0 :                       if (res) return res;
    7780              :                     }
    7781            0 :                     break;
    7782              :                   }
    7783            0 :                 case CALL_EXPR:
    7784            0 :                   switch (get_call_combined_fn (_p1))
    7785              :                     {
    7786            0 :                     case CFN_BUILT_IN_BSWAP128:
    7787            0 :                       if (call_expr_nargs (_p1) == 1)
    7788              :     {
    7789            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7790            0 :                           {
    7791            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7792            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128);
    7793            0 :                             if (res) return res;
    7794              :                           }
    7795              :                         }
    7796              :                       break;
    7797              :                     default:;
    7798              :                     }
    7799              :                   break;
    7800              :                 default:;
    7801              :                 }
    7802              :             }
    7803              :           break;
    7804            1 :         case CFN_BUILT_IN_BITREVERSE8:
    7805            1 :           if (call_expr_nargs (_p0) == 1)
    7806              :     {
    7807            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7808            1 :               switch (TREE_CODE (_p1))
    7809              :                 {
    7810            1 :                 case INTEGER_CST:
    7811            1 :                   {
    7812            1 :                     {
    7813            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7814            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7815            1 :                       if (res) return res;
    7816              :                     }
    7817            1 :                     break;
    7818              :                   }
    7819            0 :                 case CALL_EXPR:
    7820            0 :                   switch (get_call_combined_fn (_p1))
    7821              :                     {
    7822            0 :                     case CFN_BUILT_IN_BITREVERSE8:
    7823            0 :                       if (call_expr_nargs (_p1) == 1)
    7824              :     {
    7825            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7826            0 :                           {
    7827            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7828            0 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BITREVERSE8);
    7829            0 :                             if (res) return res;
    7830              :                           }
    7831              :                         }
    7832              :                       break;
    7833              :                     default:;
    7834              :                     }
    7835              :                   break;
    7836              :                 default:;
    7837              :                 }
    7838              :             }
    7839              :           break;
    7840            2 :         case CFN_BUILT_IN_BSWAP16:
    7841            2 :           if (call_expr_nargs (_p0) == 1)
    7842              :     {
    7843            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7844            2 :               switch (TREE_CODE (_p1))
    7845              :                 {
    7846            1 :                 case INTEGER_CST:
    7847            1 :                   {
    7848            1 :                     {
    7849            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7850            1 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7851            1 :                       if (res) return res;
    7852              :                     }
    7853            1 :                     break;
    7854              :                   }
    7855            1 :                 case CALL_EXPR:
    7856            1 :                   switch (get_call_combined_fn (_p1))
    7857              :                     {
    7858            1 :                     case CFN_BUILT_IN_BSWAP16:
    7859            1 :                       if (call_expr_nargs (_p1) == 1)
    7860              :     {
    7861            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7862            1 :                           {
    7863            1 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7864            1 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16);
    7865            1 :                             if (res) return res;
    7866              :                           }
    7867              :                         }
    7868              :                       break;
    7869              :                     default:;
    7870              :                     }
    7871              :                   break;
    7872              :                 default:;
    7873              :                 }
    7874              :             }
    7875              :           break;
    7876            6 :         case CFN_BUILT_IN_BSWAP32:
    7877            6 :           if (call_expr_nargs (_p0) == 1)
    7878              :     {
    7879            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7880            6 :               switch (TREE_CODE (_p1))
    7881              :                 {
    7882            3 :                 case INTEGER_CST:
    7883            3 :                   {
    7884            3 :                     {
    7885            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7886            3 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7887            3 :                       if (res) return res;
    7888              :                     }
    7889            3 :                     break;
    7890              :                   }
    7891            3 :                 case CALL_EXPR:
    7892            3 :                   switch (get_call_combined_fn (_p1))
    7893              :                     {
    7894            3 :                     case CFN_BUILT_IN_BSWAP32:
    7895            3 :                       if (call_expr_nargs (_p1) == 1)
    7896              :     {
    7897            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7898            3 :                           {
    7899            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7900            3 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32);
    7901            3 :                             if (res) return res;
    7902              :                           }
    7903              :                         }
    7904              :                       break;
    7905              :                     default:;
    7906              :                     }
    7907              :                   break;
    7908              :                 default:;
    7909              :                 }
    7910              :             }
    7911              :           break;
    7912            6 :         case CFN_BUILT_IN_BSWAP64:
    7913            6 :           if (call_expr_nargs (_p0) == 1)
    7914              :     {
    7915            6 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7916            6 :               switch (TREE_CODE (_p1))
    7917              :                 {
    7918            3 :                 case INTEGER_CST:
    7919            3 :                   {
    7920            3 :                     {
    7921            3 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    7922            3 :                       tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7923            3 :                       if (res) return res;
    7924              :                     }
    7925            3 :                     break;
    7926              :                   }
    7927            3 :                 case CALL_EXPR:
    7928            3 :                   switch (get_call_combined_fn (_p1))
    7929              :                     {
    7930            3 :                     case CFN_BUILT_IN_BSWAP64:
    7931            3 :                       if (call_expr_nargs (_p1) == 1)
    7932              :     {
    7933            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7934            3 :                           {
    7935            3 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    7936            3 :                             tree res = generic_simplify_246 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64);
    7937            3 :                             if (res) return res;
    7938              :                           }
    7939              :                         }
    7940              :                       break;
    7941              :                     default:;
    7942              :                     }
    7943              :                   break;
    7944              :                 default:;
    7945              :                 }
    7946              :             }
    7947              :           break;
    7948              :         default:;
    7949              :         }
    7950              :       break;
    7951     26717391 :     default:;
    7952              :     }
    7953     26717391 :   switch (TREE_CODE (_p1))
    7954              :     {
    7955          122 :     case VEC_COND_EXPR:
    7956          122 :       {
    7957          122 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7958          122 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7959          122 :         tree _q32 = TREE_OPERAND (_p1, 2);
    7960          122 :         {
    7961          122 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    7962          122 :           if (VECTOR_TYPE_P (type)
    7963          122 :  && (TREE_CODE_CLASS (EQ_EXPR) != tcc_comparison
    7964          122 :  || types_match (type, TREE_TYPE (captures[3]))
    7965          122 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    7966              :  || (optimize_vectors_before_lowering_p ()
    7967           21 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    7968              : )
    7969              :             {
    7970          122 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
    7971          122 :               {
    7972          122 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1508;
    7973            0 :                 tree res_op0;
    7974            0 :                 res_op0 = captures[2];
    7975            0 :                 tree res_op1;
    7976            0 :                 {
    7977            0 :                   tree _o1[2], _r1;
    7978            0 :                   _o1[0] = unshare_expr (captures[0]);
    7979            0 :                   _o1[1] = captures[3];
    7980            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7981            0 :                   if (EXPR_P (_r1))
    7982            0 :                     goto next_after_fail1508;
    7983            0 :                   res_op1 = _r1;
    7984              :                 }
    7985            0 :                 tree res_op2;
    7986            0 :                 {
    7987            0 :                   tree _o1[2], _r1;
    7988            0 :                   _o1[0] = captures[0];
    7989            0 :                   _o1[1] = captures[4];
    7990            0 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, type, _o1[0], _o1[1]);
    7991            0 :                   if (EXPR_P (_r1))
    7992            0 :                     goto next_after_fail1508;
    7993            0 :                   res_op2 = _r1;
    7994              :                 }
    7995            0 :                 tree _r;
    7996            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    7997            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
    7998            0 :                 return _r;
    7999              :               }
    8000          122 : next_after_fail1508:;
    8001              :             }
    8002              :         }
    8003          122 :         break;
    8004              :       }
    8005     26717391 :     default:;
    8006              :     }
    8007     26717391 :   switch (TREE_CODE (_p0))
    8008              :     {
    8009        41183 :     case COND_EXPR:
    8010        41183 :       {
    8011        41183 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8012        41183 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8013        41183 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8014        41183 :         switch (TREE_CODE (_p1))
    8015              :           {
    8016           37 :           case COND_EXPR:
    8017           37 :             {
    8018           37 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8019           37 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8020           37 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8021           37 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8022              :                 {
    8023            3 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8024              :                     {
    8025            3 :                       {
    8026            3 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8027            3 :                         const enum tree_code eqne = EQ_EXPR;
    8028            3 :                         if (!HONOR_NANS (captures[1])
    8029            3 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8030            3 :  && types_match (type, TREE_TYPE (captures[0]))
    8031            3 :  && expr_no_side_effects_p (captures[1])
    8032            4 :  && expr_no_side_effects_p (captures[2])
    8033              : )
    8034              :                           {
    8035            1 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1509;
    8036            1 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1509;
    8037            1 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
    8038            1 :                             {
    8039            1 :                               tree res_op0;
    8040            1 :                               {
    8041            1 :                                 tree _o1[2], _r1;
    8042            1 :                                 {
    8043            1 :                                   tree _o2[2], _r2;
    8044            1 :                                   _o2[0] = captures[0];
    8045            1 :                                   _o2[1] = captures[3];
    8046            1 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8047            1 :                                   _o1[0] = _r2;
    8048              :                                 }
    8049            1 :                                 {
    8050            1 :                                   tree _o2[2], _r2;
    8051            1 :                                   _o2[0] = captures[1];
    8052            1 :                                   _o2[1] = captures[2];
    8053            1 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8054            1 :                                   _o1[1] = _r2;
    8055              :                                 }
    8056            1 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8057            1 :                                 res_op0 = _r1;
    8058              :                               }
    8059            1 :                               tree res_op1;
    8060            1 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8061            1 :                               tree res_op2;
    8062            1 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8063            1 :                               tree _r;
    8064            1 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8065            1 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    8066            1 :                               return _r;
    8067              :                             }
    8068            2 : next_after_fail1509:;
    8069              :                           }
    8070              :                       }
    8071              :                     }
    8072              :                 }
    8073           36 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8074              :                 {
    8075            7 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8076              :                     {
    8077            7 :                       {
    8078            7 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8079            7 :                         const enum tree_code eqne = EQ_EXPR;
    8080            7 :                         if (!HONOR_NANS (captures[1])
    8081            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8082            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8083            0 :  && expr_no_side_effects_p (captures[1])
    8084            7 :  && expr_no_side_effects_p (captures[2])
    8085              : )
    8086              :                           {
    8087            0 :                             if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1510;
    8088            0 :                             if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1510;
    8089            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
    8090            0 :                             {
    8091            0 :                               tree res_op0;
    8092            0 :                               {
    8093            0 :                                 tree _o1[2], _r1;
    8094            0 :                                 {
    8095            0 :                                   tree _o2[2], _r2;
    8096            0 :                                   _o2[0] = captures[0];
    8097            0 :                                   _o2[1] = captures[3];
    8098            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8099            0 :                                   _o1[0] = _r2;
    8100              :                                 }
    8101            0 :                                 {
    8102            0 :                                   tree _o2[2], _r2;
    8103            0 :                                   _o2[0] = captures[1];
    8104            0 :                                   _o2[1] = captures[2];
    8105            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8106            0 :                                   _o1[1] = _r2;
    8107              :                                 }
    8108            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8109            0 :                                 res_op0 = _r1;
    8110              :                               }
    8111            0 :                               tree res_op1;
    8112            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8113            0 :                               tree res_op2;
    8114            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8115            0 :                               tree _r;
    8116            0 :                               _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    8117            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
    8118            0 :                               return _r;
    8119              :                             }
    8120            7 : next_after_fail1510:;
    8121              :                           }
    8122              :                       }
    8123              :                     }
    8124              :                 }
    8125              :               break;
    8126              :             }
    8127              :           default:;
    8128              :           }
    8129              :         break;
    8130              :       }
    8131          586 :     case VEC_COND_EXPR:
    8132          586 :       {
    8133          586 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8134          586 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8135          586 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8136          586 :         switch (TREE_CODE (_p1))
    8137              :           {
    8138          107 :           case VEC_COND_EXPR:
    8139          107 :             {
    8140          107 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8141          107 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8142          107 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8143          107 :               if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
    8144              :                 {
    8145           66 :                   if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
    8146              :                     {
    8147           66 :                       {
    8148           66 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8149           66 :                         const enum tree_code eqne = EQ_EXPR;
    8150           66 :                         if (!HONOR_NANS (captures[1])
    8151            6 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8152            6 :  && types_match (type, TREE_TYPE (captures[0]))
    8153            6 :  && expr_no_side_effects_p (captures[1])
    8154           72 :  && expr_no_side_effects_p (captures[2])
    8155              : )
    8156              :                           {
    8157            6 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1511;
    8158            6 :                             {
    8159            6 :                               tree res_op0;
    8160            6 :                               {
    8161            6 :                                 tree _o1[2], _r1;
    8162            6 :                                 {
    8163            6 :                                   tree _o2[2], _r2;
    8164            6 :                                   _o2[0] = captures[0];
    8165            6 :                                   _o2[1] = captures[3];
    8166            6 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8167            6 :                                   _o1[0] = _r2;
    8168              :                                 }
    8169            6 :                                 {
    8170            6 :                                   tree _o2[2], _r2;
    8171            6 :                                   _o2[0] = captures[1];
    8172            6 :                                   _o2[1] = captures[2];
    8173            6 :                                   _r2 = fold_build2_loc (loc, NE_EXPR, type, _o2[0], _o2[1]);
    8174            6 :                                   _o1[1] = _r2;
    8175              :                                 }
    8176            6 :                                 _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8177            6 :                                 res_op0 = _r1;
    8178              :                               }
    8179            6 :                               tree res_op1;
    8180            6 :                               res_op1 =  constant_boolean_node (eqne == NE_EXPR, type);
    8181            6 :                               tree res_op2;
    8182            6 :                               res_op2 =  constant_boolean_node (eqne != NE_EXPR, type);
    8183            6 :                               tree _r;
    8184            6 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8185            6 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 985, __FILE__, __LINE__, true);
    8186            6 :                               return _r;
    8187              :                             }
    8188            0 : next_after_fail1511:;
    8189              :                           }
    8190              :                       }
    8191              :                     }
    8192              :                 }
    8193          101 :               if ((_q61 == _q22 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q22, 0) && types_match (_q61, _q22)))
    8194              :                 {
    8195           37 :                   if ((_q62 == _q21 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q21, 0) && types_match (_q62, _q21)))
    8196              :                     {
    8197           37 :                       {
    8198           37 :                         tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
    8199           37 :                         const enum tree_code eqne = EQ_EXPR;
    8200           37 :                         if (!HONOR_NANS (captures[1])
    8201            0 :  && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    8202            0 :  && types_match (type, TREE_TYPE (captures[0]))
    8203            0 :  && expr_no_side_effects_p (captures[1])
    8204           37 :  && expr_no_side_effects_p (captures[2])
    8205              : )
    8206              :                           {
    8207            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1512;
    8208            0 :                             {
    8209            0 :                               tree res_op0;
    8210            0 :                               {
    8211            0 :                                 tree _o1[2], _r1;
    8212            0 :                                 {
    8213            0 :                                   tree _o2[2], _r2;
    8214            0 :                                   _o2[0] = captures[0];
    8215            0 :                                   _o2[1] = captures[3];
    8216            0 :                                   _r2 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    8217            0 :                                   _o1[0] = _r2;
    8218              :                                 }
    8219            0 :                                 {
    8220            0 :                                   tree _o2[2], _r2;
    8221            0 :                                   _o2[0] = captures[1];
    8222            0 :                                   _o2[1] = captures[2];
    8223            0 :                                   _r2 = fold_build2_loc (loc, EQ_EXPR, type, _o2[0], _o2[1]);
    8224            0 :                                   _o1[1] = _r2;
    8225              :                                 }
    8226            0 :                                 _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    8227            0 :                                 res_op0 = _r1;
    8228              :                               }
    8229            0 :                               tree res_op1;
    8230            0 :                               res_op1 =  constant_boolean_node (eqne != NE_EXPR, type);
    8231            0 :                               tree res_op2;
    8232            0 :                               res_op2 =  constant_boolean_node (eqne == NE_EXPR, type);
    8233            0 :                               tree _r;
    8234            0 :                               _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8235            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 986, __FILE__, __LINE__, true);
    8236            0 :                               return _r;
    8237              :                             }
    8238            0 : next_after_fail1512:;
    8239              :                           }
    8240              :                       }
    8241              :                     }
    8242              :                 }
    8243              :               break;
    8244              :             }
    8245              :           default:;
    8246              :           }
    8247              :         break;
    8248              :       }
    8249         1130 :     case LT_EXPR:
    8250         1130 :       {
    8251         1130 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8252         1130 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8253         1130 :         if (integer_truep (_p1))
    8254              :           {
    8255            5 :             {
    8256            5 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8257            5 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8258            5 :               if (res) return res;
    8259              :             }
    8260              :           }
    8261         1130 :         if (integer_zerop (_p1))
    8262              :           {
    8263          414 :             {
    8264          414 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8265          414 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    8266          414 :               if (res) return res;
    8267              :             }
    8268              :           }
    8269              :         break;
    8270              :       }
    8271         1547 :     case LE_EXPR:
    8272         1547 :       {
    8273         1547 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8274         1547 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8275         1547 :         if (integer_truep (_p1))
    8276              :           {
    8277            0 :             {
    8278            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8279            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8280            0 :               if (res) return res;
    8281              :             }
    8282              :           }
    8283         1547 :         if (integer_zerop (_p1))
    8284              :           {
    8285          683 :             {
    8286          683 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8287          683 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    8288          683 :               if (res) return res;
    8289              :             }
    8290              :           }
    8291              :         break;
    8292              :       }
    8293        32145 :     case EQ_EXPR:
    8294        32145 :       {
    8295        32145 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8296        32145 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8297        32145 :         if (integer_truep (_p1))
    8298              :           {
    8299           48 :             {
    8300           48 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8301           48 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8302           48 :               if (res) return res;
    8303              :             }
    8304              :           }
    8305        32140 :         if (integer_zerop (_p1))
    8306              :           {
    8307         7584 :             {
    8308         7584 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8309         7584 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    8310         7584 :               if (res) return res;
    8311              :             }
    8312              :           }
    8313              :         break;
    8314              :       }
    8315        11930 :     case NE_EXPR:
    8316        11930 :       {
    8317        11930 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8318        11930 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8319        11930 :         if (integer_truep (_p1))
    8320              :           {
    8321          126 :             {
    8322          126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8323          126 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8324          126 :               if (res) return res;
    8325              :             }
    8326              :           }
    8327        11810 :         if (integer_zerop (_p1))
    8328              :           {
    8329         9899 :             {
    8330         9899 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8331         9899 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    8332         9899 :               if (res) return res;
    8333              :             }
    8334              :           }
    8335              :         break;
    8336              :       }
    8337         6756 :     case GE_EXPR:
    8338         6756 :       {
    8339         6756 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8340         6756 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8341         6756 :         if (integer_truep (_p1))
    8342              :           {
    8343            0 :             {
    8344            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8345            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8346            0 :               if (res) return res;
    8347              :             }
    8348              :           }
    8349         6756 :         if (integer_zerop (_p1))
    8350              :           {
    8351         5640 :             {
    8352         5640 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8353         5640 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    8354         5640 :               if (res) return res;
    8355              :             }
    8356              :           }
    8357              :         break;
    8358              :       }
    8359        64891 :     case GT_EXPR:
    8360        64891 :       {
    8361        64891 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8362        64891 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8363        64891 :         if (integer_truep (_p1))
    8364              :           {
    8365            0 :             {
    8366            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8367            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8368            0 :               if (res) return res;
    8369              :             }
    8370              :           }
    8371        64891 :         if (integer_zerop (_p1))
    8372              :           {
    8373          445 :             {
    8374          445 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8375          445 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    8376          445 :               if (res) return res;
    8377              :             }
    8378              :           }
    8379              :         break;
    8380              :       }
    8381         1023 :     case UNORDERED_EXPR:
    8382         1023 :       {
    8383         1023 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8384         1023 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8385         1023 :         if (integer_truep (_p1))
    8386              :           {
    8387            0 :             {
    8388            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8389            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8390            0 :               if (res) return res;
    8391              :             }
    8392              :           }
    8393         1023 :         if (integer_zerop (_p1))
    8394              :           {
    8395         1017 :             {
    8396         1017 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8397         1017 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    8398         1017 :               if (res) return res;
    8399              :             }
    8400              :           }
    8401              :         break;
    8402              :       }
    8403            0 :     case ORDERED_EXPR:
    8404            0 :       {
    8405            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8406            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8407            0 :         if (integer_truep (_p1))
    8408              :           {
    8409            0 :             {
    8410            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8411            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8412            0 :               if (res) return res;
    8413              :             }
    8414              :           }
    8415            0 :         if (integer_zerop (_p1))
    8416              :           {
    8417            0 :             {
    8418            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8419            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    8420            0 :               if (res) return res;
    8421              :             }
    8422              :           }
    8423              :         break;
    8424              :       }
    8425            0 :     case UNLT_EXPR:
    8426            0 :       {
    8427            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8428            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8429            0 :         if (integer_truep (_p1))
    8430              :           {
    8431            0 :             {
    8432            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8433            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8434            0 :               if (res) return res;
    8435              :             }
    8436              :           }
    8437            0 :         if (integer_zerop (_p1))
    8438              :           {
    8439            0 :             {
    8440            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8441            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    8442            0 :               if (res) return res;
    8443              :             }
    8444              :           }
    8445              :         break;
    8446              :       }
    8447            0 :     case UNLE_EXPR:
    8448            0 :       {
    8449            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8450            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8451            0 :         if (integer_truep (_p1))
    8452              :           {
    8453            0 :             {
    8454            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8455            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8456            0 :               if (res) return res;
    8457              :             }
    8458              :           }
    8459            0 :         if (integer_zerop (_p1))
    8460              :           {
    8461            0 :             {
    8462            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8463            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    8464            0 :               if (res) return res;
    8465              :             }
    8466              :           }
    8467              :         break;
    8468              :       }
    8469            0 :     case UNGT_EXPR:
    8470            0 :       {
    8471            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8472            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8473            0 :         if (integer_truep (_p1))
    8474              :           {
    8475            0 :             {
    8476            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8477            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8478            0 :               if (res) return res;
    8479              :             }
    8480              :           }
    8481            0 :         if (integer_zerop (_p1))
    8482              :           {
    8483            0 :             {
    8484            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8485            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    8486            0 :               if (res) return res;
    8487              :             }
    8488              :           }
    8489              :         break;
    8490              :       }
    8491            0 :     case UNGE_EXPR:
    8492            0 :       {
    8493            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8494            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8495            0 :         if (integer_truep (_p1))
    8496              :           {
    8497            0 :             {
    8498            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8499            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8500            0 :               if (res) return res;
    8501              :             }
    8502              :           }
    8503            0 :         if (integer_zerop (_p1))
    8504              :           {
    8505            0 :             {
    8506            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8507            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    8508            0 :               if (res) return res;
    8509              :             }
    8510              :           }
    8511              :         break;
    8512              :       }
    8513            0 :     case UNEQ_EXPR:
    8514            0 :       {
    8515            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8516            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8517            0 :         if (integer_truep (_p1))
    8518              :           {
    8519            0 :             {
    8520            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8521            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8522            0 :               if (res) return res;
    8523              :             }
    8524              :           }
    8525            0 :         if (integer_zerop (_p1))
    8526              :           {
    8527            0 :             {
    8528            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8529            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    8530            0 :               if (res) return res;
    8531              :             }
    8532              :           }
    8533              :         break;
    8534              :       }
    8535            0 :     case LTGT_EXPR:
    8536            0 :       {
    8537            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8538            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8539            0 :         if (integer_truep (_p1))
    8540              :           {
    8541            0 :             {
    8542            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8543            0 :               tree res = generic_simplify_248 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8544            0 :               if (res) return res;
    8545              :             }
    8546              :           }
    8547            0 :         if (integer_zerop (_p1))
    8548              :           {
    8549            0 :             {
    8550            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8551            0 :               tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    8552            0 :               if (res) return res;
    8553              :             }
    8554              :           }
    8555              :         break;
    8556              :       }
    8557       152211 :     case MINUS_EXPR:
    8558       152211 :       {
    8559       152211 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8560       152211 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8561       152211 :         if (integer_zerop (_p1))
    8562              :           {
    8563        56536 :             {
    8564        56536 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8565        56536 :               tree res = generic_simplify_250 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8566        56536 :               if (res) return res;
    8567              :             }
    8568              :           }
    8569              :         break;
    8570              :       }
    8571        31334 :     case POINTER_DIFF_EXPR:
    8572        31334 :       {
    8573        31334 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8574        31334 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8575        31334 :         if (integer_zerop (_p1))
    8576              :           {
    8577         1420 :             {
    8578         1420 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    8579         1420 :               tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8580         1420 :               if (res) return res;
    8581              :             }
    8582              :           }
    8583              :         break;
    8584              :       }
    8585        65396 :     case MULT_EXPR:
    8586        65396 :       {
    8587        65396 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8588        65396 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8589        65396 :         switch (TREE_CODE (_q21))
    8590              :           {
    8591        57626 :           case INTEGER_CST:
    8592        57626 :             {
    8593        57626 :               switch (TREE_CODE (_p1))
    8594              :                 {
    8595         9601 :                 case INTEGER_CST:
    8596         9601 :                   {
    8597         9601 :                     {
    8598         9601 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8599         9601 :                       tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8600         9601 :                       if (res) return res;
    8601              :                     }
    8602         8647 :                     break;
    8603              :                   }
    8604        56672 :                 default:;
    8605              :                 }
    8606        56672 :             if (integer_zerop (_p1))
    8607              :               {
    8608         4203 :                 {
    8609         4203 :                   tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8610         4203 :                   tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8611         4203 :                   if (res) return res;
    8612              :                 }
    8613              :               }
    8614              :               break;
    8615              :             }
    8616              :           default:;
    8617              :           }
    8618              :         break;
    8619              :       }
    8620     26633571 :     default:;
    8621              :     }
    8622     26633571 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8623              :     {
    8624        99478 :       {
    8625        99478 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8626        99478 :         tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8627        99478 :         if (res) return res;
    8628              :       }
    8629              :     }
    8630     26539032 :   switch (TREE_CODE (_p0))
    8631              :     {
    8632      4992443 :     CASE_CONVERT:
    8633      4992443 :       {
    8634      4992443 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8635      4992443 :         switch (TREE_CODE (_p1))
    8636              :           {
    8637      1473642 :           CASE_CONVERT:
    8638      1473642 :             {
    8639      1473642 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8640      1473642 :               {
    8641      1473642 :                 tree _q40_pops[1];
    8642      1473642 :                 if (tree_maybe_bit_not (_q40, _q40_pops))
    8643              :                   {
    8644            0 :                     tree _q50 = _q40_pops[0];
    8645            0 :                     {
    8646            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
    8647            0 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8648            0 :                       if (res) return res;
    8649              :                     }
    8650              :                   }
    8651              :               }
    8652      1473642 :               break;
    8653              :             }
    8654      4992443 :           default:;
    8655              :           }
    8656      4992443 :         {
    8657      4992443 :           tree _q20_pops[1];
    8658      4992443 :           if (tree_maybe_bit_not (_q20, _q20_pops))
    8659              :             {
    8660          232 :               tree _q30 = _q20_pops[0];
    8661          232 :               switch (TREE_CODE (_p1))
    8662              :                 {
    8663           74 :                 CASE_CONVERT:
    8664           74 :                   {
    8665           74 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    8666           74 :                     {
    8667           74 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    8668           74 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8669           74 :                       if (res) return res;
    8670              :                     }
    8671           74 :                     break;
    8672              :                   }
    8673              :                 default:;
    8674              :                 }
    8675              :             }
    8676              :         }
    8677      4992443 :         break;
    8678              :       }
    8679     26539032 :     default:;
    8680              :     }
    8681     26539032 :   {
    8682     26539032 :     tree _p1_pops[1];
    8683     26539032 :     if (tree_maybe_bit_not (_p1, _p1_pops))
    8684              :       {
    8685     18883543 :         tree _q30 = _p1_pops[0];
    8686     18883543 :         {
    8687     18883543 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8688     18883543 :           tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8689     18883543 :           if (res) return res;
    8690              :         }
    8691              :       }
    8692              :   }
    8693     26539030 :   switch (TREE_CODE (_p0))
    8694              :     {
    8695          403 :     case BIT_NOT_EXPR:
    8696          403 :       {
    8697          403 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8698          403 :         switch (TREE_CODE (_p1))
    8699              :           {
    8700            1 :           case BIT_NOT_EXPR:
    8701            1 :             {
    8702            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8703            1 :               {
    8704            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8705            1 :                 tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8706            1 :                 if (res) return res;
    8707              :               }
    8708            0 :               break;
    8709              :             }
    8710          402 :           default:;
    8711              :           }
    8712          402 :       {
    8713          402 :         tree _p1_pops[1];
    8714          402 :         if (tree_nop_convert (_p1, _p1_pops))
    8715              :           {
    8716            3 :             tree _q40 = _p1_pops[0];
    8717            3 :             switch (TREE_CODE (_q40))
    8718              :               {
    8719            0 :               case BIT_NOT_EXPR:
    8720            0 :                 {
    8721            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8722            0 :                   {
    8723            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8724            0 :                     tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8725            0 :                     if (res) return res;
    8726              :                   }
    8727            0 :                   break;
    8728              :                 }
    8729              :               default:;
    8730              :               }
    8731              :           }
    8732              :       }
    8733          402 :       if (CONSTANT_CLASS_P (_p1))
    8734              :         {
    8735          195 :           {
    8736          195 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8737          195 :             tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8738          195 :             if (res) return res;
    8739              :           }
    8740              :         }
    8741              :         break;
    8742              :       }
    8743     26538834 :     default:;
    8744              :     }
    8745     26538834 : {
    8746     26538834 :   tree _p0_pops[1];
    8747     26538834 :   if (tree_maybe_bit_not (_p0, _p0_pops))
    8748              :     {
    8749        94371 :       tree _q20 = _p0_pops[0];
    8750        94371 :       {
    8751        94371 :         tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
    8752        94371 :         tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8753        94371 :         if (res) return res;
    8754              :       }
    8755              :     }
    8756              : }
    8757     26538833 : {
    8758     26538833 :   tree _p0_pops[1];
    8759     26538833 :   if (tree_nop_convert (_p0, _p0_pops))
    8760              :     {
    8761      2912399 :       tree _q20 = _p0_pops[0];
    8762      2912399 :       switch (TREE_CODE (_q20))
    8763              :         {
    8764           41 :         case BIT_NOT_EXPR:
    8765           41 :           {
    8766           41 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8767           41 :             switch (TREE_CODE (_p1))
    8768              :               {
    8769            0 :               case BIT_NOT_EXPR:
    8770            0 :                 {
    8771            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8772            0 :                   {
    8773            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8774            0 :                     tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8775            0 :                     if (res) return res;
    8776              :                   }
    8777            0 :                   break;
    8778              :                 }
    8779           41 :               default:;
    8780              :               }
    8781           41 :           {
    8782           41 :             tree _p1_pops[1];
    8783           41 :             if (tree_nop_convert (_p1, _p1_pops))
    8784              :               {
    8785            0 :                 tree _q50 = _p1_pops[0];
    8786            0 :                 switch (TREE_CODE (_q50))
    8787              :                   {
    8788            0 :                   case BIT_NOT_EXPR:
    8789            0 :                     {
    8790            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8791            0 :                       {
    8792            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8793            0 :                         tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8794            0 :                         if (res) return res;
    8795              :                       }
    8796            0 :                       break;
    8797              :                     }
    8798              :                   default:;
    8799              :                   }
    8800              :               }
    8801              :           }
    8802           41 :           if (CONSTANT_CLASS_P (_p1))
    8803              :             {
    8804           41 :               {
    8805           41 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8806           41 :                 tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8807           41 :                 if (res) return res;
    8808              :               }
    8809              :             }
    8810              :             break;
    8811              :           }
    8812              :         default:;
    8813              :         }
    8814              :     }
    8815              : }
    8816     26538792 :   switch (TREE_CODE (_p1))
    8817              :     {
    8818       923788 :     case REAL_CST:
    8819       923788 :       {
    8820       923788 :         {
    8821       923788 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8822       923788 :           tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8823       923788 :           if (res) return res;
    8824              :         }
    8825       922786 :         break;
    8826              :       }
    8827     26537790 :     default:;
    8828              :     }
    8829     26537790 :   switch (TREE_CODE (_p0))
    8830              :     {
    8831       651578 :     case PLUS_EXPR:
    8832       651578 :       {
    8833       651578 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8834       651578 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8835       651578 :         switch (TREE_CODE (_q21))
    8836              :           {
    8837          575 :           case REAL_CST:
    8838          575 :             {
    8839          575 :               switch (TREE_CODE (_p1))
    8840              :                 {
    8841          405 :                 case REAL_CST:
    8842          405 :                   {
    8843          405 :                     {
    8844          405 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8845          405 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, PLUS_EXPR, EQ_EXPR);
    8846          405 :                       if (res) return res;
    8847              :                     }
    8848          405 :                     break;
    8849              :                   }
    8850              :                 default:;
    8851              :                 }
    8852              :               break;
    8853              :             }
    8854              :           default:;
    8855              :           }
    8856              :         break;
    8857              :       }
    8858        95675 :     case MINUS_EXPR:
    8859        95675 :       {
    8860        95675 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8861        95675 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8862        95675 :         switch (TREE_CODE (_q21))
    8863              :           {
    8864           60 :           case REAL_CST:
    8865           60 :             {
    8866           60 :               switch (TREE_CODE (_p1))
    8867              :                 {
    8868           60 :                 case REAL_CST:
    8869           60 :                   {
    8870           60 :                     {
    8871           60 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8872           60 :                       tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, MINUS_EXPR, EQ_EXPR);
    8873           60 :                       if (res) return res;
    8874              :                     }
    8875           60 :                     break;
    8876              :                   }
    8877              :                 default:;
    8878              :                 }
    8879              :               break;
    8880              :             }
    8881        95675 :           default:;
    8882              :           }
    8883        95675 :         switch (TREE_CODE (_q20))
    8884              :           {
    8885          274 :           case REAL_CST:
    8886          274 :             {
    8887          274 :               switch (TREE_CODE (_p1))
    8888              :                 {
    8889          245 :                 case REAL_CST:
    8890          245 :                   {
    8891          245 :                     {
    8892          245 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8893          245 :                       tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8894          245 :                       if (res) return res;
    8895              :                     }
    8896          244 :                     break;
    8897              :                   }
    8898              :                 default:;
    8899              :                 }
    8900              :               break;
    8901              :             }
    8902              :           default:;
    8903              :           }
    8904              :         break;
    8905              :       }
    8906         2632 :     case FLOAT_EXPR:
    8907         2632 :       {
    8908         2632 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8909         2632 :         switch (TREE_CODE (_p1))
    8910              :           {
    8911            1 :           case FLOAT_EXPR:
    8912            1 :             {
    8913            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8914            1 :               {
    8915            1 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8916            1 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8917            1 :                 if (res) return res;
    8918              :               }
    8919            0 :               break;
    8920              :             }
    8921          180 :           case REAL_CST:
    8922          180 :             {
    8923          180 :               {
    8924          180 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8925          180 :                 tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8926          180 :                 if (res) return res;
    8927              :               }
    8928          149 :               break;
    8929              :             }
    8930              :           default:;
    8931              :           }
    8932              :         break;
    8933              :       }
    8934         7010 :     case EXACT_DIV_EXPR:
    8935         7010 :       {
    8936         7010 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8937         7010 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8938         7010 :         switch (TREE_CODE (_p1))
    8939              :           {
    8940           33 :           case INTEGER_CST:
    8941           33 :             {
    8942           33 :               {
    8943           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8944           33 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, EQ_EXPR);
    8945           33 :                 if (res) return res;
    8946              :               }
    8947            0 :               break;
    8948              :             }
    8949              :           default:;
    8950              :           }
    8951              :         break;
    8952              :       }
    8953         1035 :     case NEGATE_EXPR:
    8954         1035 :       {
    8955         1035 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8956         1035 :         switch (TREE_CODE (_p1))
    8957              :           {
    8958            1 :           case NEGATE_EXPR:
    8959            1 :             {
    8960            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8961            1 :               {
    8962            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8963            1 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8964            1 :                 if (res) return res;
    8965              :               }
    8966            0 :               break;
    8967              :             }
    8968         1034 :           default:;
    8969              :           }
    8970         1034 :       if (CONSTANT_CLASS_P (_p1))
    8971              :         {
    8972          210 :           {
    8973          210 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8974          210 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
    8975          210 :             if (res) return res;
    8976              :           }
    8977              :         }
    8978              :         break;
    8979              :       }
    8980         1372 :     case ABS_EXPR:
    8981         1372 :       {
    8982         1372 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8983         1372 :         if (zerop (_p1))
    8984              :           {
    8985           66 :             {
    8986           66 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8987           66 :               const enum tree_code eqne = EQ_EXPR;
    8988           66 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1513;
    8989           66 :               {
    8990           66 :                 tree res_op0;
    8991           66 :                 res_op0 = captures[0];
    8992           66 :                 tree res_op1;
    8993           66 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    8994           66 :                 tree _r;
    8995           66 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    8996           66 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    8997            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    8998           66 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    8999           66 :                 return _r;
    9000              :               }
    9001            0 : next_after_fail1513:;
    9002              :             }
    9003              :           }
    9004              :         break;
    9005              :       }
    9006            1 :     case ABSU_EXPR:
    9007            1 :       {
    9008            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9009            1 :         if (zerop (_p1))
    9010              :           {
    9011            0 :             {
    9012            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9013            0 :               const enum tree_code eqne = EQ_EXPR;
    9014            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1514;
    9015            0 :               {
    9016            0 :                 tree res_op0;
    9017            0 :                 res_op0 = captures[0];
    9018            0 :                 tree res_op1;
    9019            0 :                 res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    9020            0 :                 tree _r;
    9021            0 :                 _r = fold_build2_loc (loc, eqne, type, res_op0, res_op1);
    9022            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    9023            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    9024            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 987, __FILE__, __LINE__, true);
    9025            0 :                 return _r;
    9026              :               }
    9027            0 : next_after_fail1514:;
    9028              :             }
    9029              :           }
    9030              :         break;
    9031              :       }
    9032      4992366 :     CASE_CONVERT:
    9033      4992366 :       {
    9034      4992366 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9035      4992366 :         switch (TREE_CODE (_p1))
    9036              :           {
    9037      1473642 :           CASE_CONVERT:
    9038      1473642 :             {
    9039      1473642 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9040      1473642 :               {
    9041      1473642 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    9042      1473642 :                 tree res = generic_simplify_269 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9043      1473642 :                 if (res) return res;
    9044              :               }
    9045       836146 :               break;
    9046              :             }
    9047      4354870 :           default:;
    9048              :           }
    9049      4354870 :         {
    9050      4354870 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    9051      4354870 :           tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9052      4354870 :           if (res) return res;
    9053              :         }
    9054      2283746 :         switch (TREE_CODE (_q20))
    9055              :           {
    9056            3 :           case BIT_IOR_EXPR:
    9057            3 :             {
    9058            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9059            3 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9060            3 :               switch (TREE_CODE (_q31))
    9061              :                 {
    9062            0 :                 case INTEGER_CST:
    9063            0 :                   {
    9064            0 :                     switch (TREE_CODE (_p1))
    9065              :                       {
    9066            0 :                       case INTEGER_CST:
    9067            0 :                         {
    9068            0 :                           {
    9069            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9070            0 :                             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9071            0 :                             if (res) return res;
    9072              :                           }
    9073            0 :                           break;
    9074              :                         }
    9075              :                       default:;
    9076              :                       }
    9077              :                     break;
    9078              :                   }
    9079              :                 default:;
    9080              :                 }
    9081              :               break;
    9082              :             }
    9083              :           default:;
    9084              :           }
    9085              :         break;
    9086              :       }
    9087      8738715 :     case SSA_NAME:
    9088      8738715 :       {
    9089      8738715 :         switch (TREE_CODE (_p1))
    9090              :           {
    9091       754446 :           case ADDR_EXPR:
    9092       754446 :             {
    9093       754446 :               {
    9094       754446 :                 tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    9095       754446 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9096       754446 :                 if (res) return res;
    9097              :               }
    9098       754446 :               break;
    9099              :             }
    9100              :           default:;
    9101              :           }
    9102              :         break;
    9103              :       }
    9104        33494 :     case BIT_IOR_EXPR:
    9105        33494 :       {
    9106        33494 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9107        33494 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9108        33494 :         switch (TREE_CODE (_q21))
    9109              :           {
    9110         1507 :           case INTEGER_CST:
    9111         1507 :             {
    9112         1507 :               switch (TREE_CODE (_p1))
    9113              :                 {
    9114          464 :                 case INTEGER_CST:
    9115          464 :                   {
    9116          464 :                     {
    9117          464 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9118          464 :                       tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9119          464 :                       if (res) return res;
    9120              :                     }
    9121          464 :                     break;
    9122              :                   }
    9123              :                 default:;
    9124              :                 }
    9125              :               break;
    9126              :             }
    9127              :           default:;
    9128              :           }
    9129              :         break;
    9130              :       }
    9131          581 :     case BIT_XOR_EXPR:
    9132          581 :       {
    9133          581 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9134          581 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9135          581 :         if (integer_zerop (_p1))
    9136              :           {
    9137          163 :             {
    9138          163 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9139          163 :               tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9140          163 :               if (res) return res;
    9141              :             }
    9142              :           }
    9143          418 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9144              :           {
    9145           29 :             {
    9146           29 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9147           29 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9148           29 :               if (res) return res;
    9149              :             }
    9150              :           }
    9151          389 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9152              :           {
    9153           30 :             {
    9154           30 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9155           30 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9156           30 :               if (res) return res;
    9157              :             }
    9158              :           }
    9159              :         break;
    9160              :       }
    9161      1926563 :     case CALL_EXPR:
    9162      1926563 :       switch (get_call_combined_fn (_p0))
    9163              :         {
    9164            3 :         case CFN_BUILT_IN_SQRTF:
    9165            3 :           if (call_expr_nargs (_p0) == 1)
    9166              :     {
    9167            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9168            3 :               switch (TREE_CODE (_p1))
    9169              :                 {
    9170            0 :                 case REAL_CST:
    9171            0 :                   {
    9172            0 :                     {
    9173            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9174            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9175            0 :                       if (res) return res;
    9176              :                     }
    9177            0 :                     break;
    9178              :                   }
    9179            3 :                 case CALL_EXPR:
    9180            3 :                   switch (get_call_combined_fn (_p1))
    9181              :                     {
    9182            3 :                     case CFN_BUILT_IN_SQRTF:
    9183            3 :                       if (call_expr_nargs (_p1) == 1)
    9184              :     {
    9185            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9186            3 :                           {
    9187            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9188            3 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR);
    9189            3 :                             if (res) return res;
    9190              :                           }
    9191              :                         }
    9192              :                       break;
    9193              :                     default:;
    9194              :                     }
    9195              :                   break;
    9196              :                 default:;
    9197              :                 }
    9198              :             }
    9199              :           break;
    9200            3 :         case CFN_BUILT_IN_SQRTL:
    9201            3 :           if (call_expr_nargs (_p0) == 1)
    9202              :     {
    9203            3 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9204            3 :               switch (TREE_CODE (_p1))
    9205              :                 {
    9206            0 :                 case REAL_CST:
    9207            0 :                   {
    9208            0 :                     {
    9209            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9210            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9211            0 :                       if (res) return res;
    9212              :                     }
    9213            0 :                     break;
    9214              :                   }
    9215            3 :                 case CALL_EXPR:
    9216            3 :                   switch (get_call_combined_fn (_p1))
    9217              :                     {
    9218            3 :                     case CFN_BUILT_IN_SQRTL:
    9219            3 :                       if (call_expr_nargs (_p1) == 1)
    9220              :     {
    9221            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9222            3 :                           {
    9223            3 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9224            3 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR);
    9225            3 :                             if (res) return res;
    9226              :                           }
    9227              :                         }
    9228              :                       break;
    9229              :                     default:;
    9230              :                     }
    9231              :                   break;
    9232              :                 default:;
    9233              :                 }
    9234              :             }
    9235              :           break;
    9236            0 :         case CFN_BUILT_IN_SQRT:
    9237            0 :           if (call_expr_nargs (_p0) == 1)
    9238              :     {
    9239            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9240            0 :               switch (TREE_CODE (_p1))
    9241              :                 {
    9242            0 :                 case REAL_CST:
    9243            0 :                   {
    9244            0 :                     {
    9245            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9246            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9247            0 :                       if (res) return res;
    9248              :                     }
    9249            0 :                     break;
    9250              :                   }
    9251            0 :                 case CALL_EXPR:
    9252            0 :                   switch (get_call_combined_fn (_p1))
    9253              :                     {
    9254            0 :                     case CFN_BUILT_IN_SQRT:
    9255            0 :                       if (call_expr_nargs (_p1) == 1)
    9256              :     {
    9257            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9258            0 :                           {
    9259            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9260            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, EQ_EXPR);
    9261            0 :                             if (res) return res;
    9262              :                           }
    9263              :                         }
    9264              :                       break;
    9265              :                     default:;
    9266              :                     }
    9267              :                   break;
    9268              :                 default:;
    9269              :                 }
    9270              :             }
    9271              :           break;
    9272            0 :         case CFN_SQRT:
    9273            0 :           if (call_expr_nargs (_p0) == 1)
    9274              :     {
    9275            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9276            0 :               switch (TREE_CODE (_p1))
    9277              :                 {
    9278            0 :                 case REAL_CST:
    9279            0 :                   {
    9280            0 :                     {
    9281            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9282            0 :                       tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9283            0 :                       if (res) return res;
    9284              :                     }
    9285            0 :                     break;
    9286              :                   }
    9287            0 :                 case CALL_EXPR:
    9288            0 :                   switch (get_call_combined_fn (_p1))
    9289              :                     {
    9290            0 :                     case CFN_SQRT:
    9291            0 :                       if (call_expr_nargs (_p1) == 1)
    9292              :     {
    9293            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9294            0 :                           {
    9295            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9296            0 :                             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, CFN_SQRT, EQ_EXPR);
    9297            0 :                             if (res) return res;
    9298              :                           }
    9299              :                         }
    9300              :                       break;
    9301              :                     default:;
    9302              :                     }
    9303              :                   break;
    9304              :                 default:;
    9305              :                 }
    9306              :             }
    9307              :           break;
    9308              :         default:;
    9309              :         }
    9310              :       break;
    9311     23828615 :     default:;
    9312              :     }
    9313     23828615 :   switch (TREE_CODE (_p1))
    9314              :     {
    9315           22 :     case BIT_XOR_EXPR:
    9316           22 :       {
    9317           22 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9318           22 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9319           22 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9320              :           {
    9321            0 :             {
    9322            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9323            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9324            0 :               if (res) return res;
    9325              :             }
    9326              :           }
    9327           22 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9328              :           {
    9329            0 :             {
    9330            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9331            0 :               tree res = generic_simplify_274 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9332            0 :               if (res) return res;
    9333              :             }
    9334              :           }
    9335              :         break;
    9336              :       }
    9337     23828615 :     default:;
    9338              :     }
    9339     23828615 :   switch (TREE_CODE (_p0))
    9340              :     {
    9341       815346 :     case BIT_AND_EXPR:
    9342       815346 :       {
    9343       815346 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9344       815346 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9345       815346 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9346              :           {
    9347          137 :             {
    9348          137 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9349          137 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9350          137 :               if (res) return res;
    9351              :             }
    9352              :           }
    9353       815345 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9354              :           {
    9355       140634 :             {
    9356       140634 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9357       140634 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9358       140634 :               if (res) return res;
    9359              :             }
    9360              :           }
    9361              :         break;
    9362              :       }
    9363     23828614 :     default:;
    9364              :     }
    9365     23828614 :   switch (TREE_CODE (_p1))
    9366              :     {
    9367        24037 :     case BIT_AND_EXPR:
    9368        24037 :       {
    9369        24037 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9370        24037 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9371        24037 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9372              :           {
    9373            0 :             {
    9374            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    9375            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9376            0 :               if (res) return res;
    9377              :             }
    9378              :           }
    9379        24037 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9380              :           {
    9381            0 :             {
    9382            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    9383            0 :               tree res = generic_simplify_275 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9384            0 :               if (res) return res;
    9385              :             }
    9386              :           }
    9387              :         break;
    9388              :       }
    9389     23828614 :     default:;
    9390              :     }
    9391     23828614 :   switch (TREE_CODE (_p0))
    9392              :     {
    9393      2283746 :     CASE_CONVERT:
    9394      2283746 :       {
    9395      2283746 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9396      2283746 :         switch (TREE_CODE (_q20))
    9397              :           {
    9398            2 :           case BIT_AND_EXPR:
    9399            2 :             {
    9400            2 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9401            2 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9402            2 :               switch (TREE_CODE (_q30))
    9403              :                 {
    9404            0 :                 CASE_CONVERT:
    9405            0 :                   {
    9406            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9407            0 :                     switch (TREE_CODE (_q31))
    9408              :                       {
    9409            0 :                       case INTEGER_CST:
    9410            0 :                         {
    9411            0 :                           switch (TREE_CODE (_p1))
    9412              :                             {
    9413            0 :                             CASE_CONVERT:
    9414            0 :                               {
    9415            0 :                                 tree _q70 = TREE_OPERAND (_p1, 0);
    9416            0 :                                 if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
    9417              :                                   {
    9418            0 :                                     {
    9419            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
    9420            0 :                                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9421            0 :                                       if (res) return res;
    9422              :                                     }
    9423              :                                   }
    9424              :                                 break;
    9425              :                               }
    9426              :                             default:;
    9427              :                             }
    9428              :                           break;
    9429              :                         }
    9430              :                       default:;
    9431              :                       }
    9432              :                     break;
    9433              :                   }
    9434              :                 default:;
    9435              :                 }
    9436              :               break;
    9437              :             }
    9438      2283746 :           default:;
    9439              :           }
    9440      2283746 :         switch (TREE_CODE (_p1))
    9441              :           {
    9442       836146 :           CASE_CONVERT:
    9443       836146 :             {
    9444       836146 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9445       836146 :               switch (TREE_CODE (_q40))
    9446              :                 {
    9447            7 :                 case BIT_AND_EXPR:
    9448            7 :                   {
    9449            7 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9450            7 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9451            7 :                     switch (TREE_CODE (_q50))
    9452              :                       {
    9453            7 :                       CASE_CONVERT:
    9454            7 :                         {
    9455            7 :                           tree _q60 = TREE_OPERAND (_q50, 0);
    9456            7 :                           if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    9457              :                             {
    9458            0 :                               switch (TREE_CODE (_q51))
    9459              :                                 {
    9460            0 :                                 case INTEGER_CST:
    9461            0 :                                   {
    9462            0 :                                     {
    9463            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
    9464            0 :                                       tree res = generic_simplify_276 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9465            0 :                                       if (res) return res;
    9466              :                                     }
    9467            0 :                                     break;
    9468              :                                   }
    9469              :                                 default:;
    9470              :                                 }
    9471              :                             }
    9472              :                           break;
    9473              :                         }
    9474              :                       default:;
    9475              :                       }
    9476              :                     break;
    9477              :                   }
    9478              :                 default:;
    9479              :                 }
    9480              :               break;
    9481              :             }
    9482              :           default:;
    9483              :           }
    9484              :         break;
    9485              :       }
    9486        33494 :     case BIT_IOR_EXPR:
    9487        33494 :       {
    9488        33494 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9489        33494 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9490        33494 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9491              :           {
    9492           24 :             {
    9493           24 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    9494           24 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9495           24 :               if (res) return res;
    9496              :             }
    9497              :           }
    9498        33494 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    9499              :           {
    9500           46 :             {
    9501           46 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    9502           46 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9503           46 :               if (res) return res;
    9504              :             }
    9505              :           }
    9506              :         break;
    9507              :       }
    9508     23828614 :     default:;
    9509              :     }
    9510     23828614 :   switch (TREE_CODE (_p1))
    9511              :     {
    9512          618 :     case BIT_IOR_EXPR:
    9513          618 :       {
    9514          618 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9515          618 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9516          618 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    9517              :           {
    9518            0 :             {
    9519            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
    9520            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9521            0 :               if (res) return res;
    9522              :             }
    9523              :           }
    9524          618 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9525              :           {
    9526            0 :             {
    9527            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
    9528            0 :               tree res = generic_simplify_277 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9529            0 :               if (res) return res;
    9530              :             }
    9531              :           }
    9532              :         break;
    9533              :       }
    9534     23828614 :     default:;
    9535              :     }
    9536     23828614 :   switch (TREE_CODE (_p0))
    9537              :     {
    9538      2283746 :     CASE_CONVERT:
    9539      2283746 :       {
    9540      2283746 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9541      2283746 :         switch (TREE_CODE (_q20))
    9542              :           {
    9543          984 :           case BIT_XOR_EXPR:
    9544          984 :             {
    9545          984 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9546          984 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9547          984 :               switch (TREE_CODE (_q31))
    9548              :                 {
    9549            7 :                 case INTEGER_CST:
    9550            7 :                   {
    9551            7 :                     switch (TREE_CODE (_p1))
    9552              :                       {
    9553            0 :                       case INTEGER_CST:
    9554            0 :                         {
    9555            0 :                           {
    9556            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
    9557            0 :                             tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9558            0 :                             if (res) return res;
    9559              :                           }
    9560            0 :                           break;
    9561              :                         }
    9562              :                       default:;
    9563              :                       }
    9564              :                     break;
    9565              :                   }
    9566              :                 default:;
    9567              :                 }
    9568              :               break;
    9569              :             }
    9570              :           default:;
    9571              :           }
    9572              :         break;
    9573              :       }
    9574          359 :     case BIT_XOR_EXPR:
    9575          359 :       {
    9576          359 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9577          359 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9578          359 :         switch (TREE_CODE (_q21))
    9579              :           {
    9580          103 :           case INTEGER_CST:
    9581          103 :             {
    9582          103 :               switch (TREE_CODE (_p1))
    9583              :                 {
    9584           16 :                 case INTEGER_CST:
    9585           16 :                   {
    9586           16 :                     {
    9587           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9588           16 :                       tree res = generic_simplify_278 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9589           16 :                       if (res) return res;
    9590              :                     }
    9591            0 :                     break;
    9592              :                   }
    9593              :                 default:;
    9594              :                 }
    9595              :               break;
    9596              :             }
    9597              :           default:;
    9598              :           }
    9599              :         break;
    9600              :       }
    9601     23828598 :     default:;
    9602              :     }
    9603     23828598 : {
    9604     23828598 :   tree _p0_pops[1];
    9605     23828598 :   if (tree_nop_convert (_p0, _p0_pops))
    9606              :     {
    9607      1931815 :       tree _q20 = _p0_pops[0];
    9608      1931815 :       if (integer_zerop (_p1))
    9609              :         {
    9610       536103 :           {
    9611       536103 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9612       536103 :             tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9613       536103 :             if (res) return res;
    9614              :           }
    9615              :         }
    9616              :     }
    9617              : }
    9618     23437370 :   if (integer_zerop (_p1))
    9619              :     {
    9620      9557493 :       {
    9621      9557493 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    9622      9557493 :         tree res = generic_simplify_279 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9623      9557493 :         if (res) return res;
    9624              :       }
    9625              :     }
    9626     23363823 :   switch (TREE_CODE (_p0))
    9627              :     {
    9628       815345 :     case BIT_AND_EXPR:
    9629       815345 :       {
    9630       815345 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9631       815345 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9632       815345 :         switch (TREE_CODE (_p1))
    9633              :           {
    9634        23759 :           case BIT_AND_EXPR:
    9635        23759 :             {
    9636        23759 :               tree _q50 = TREE_OPERAND (_p1, 0);
    9637        23759 :               tree _q51 = TREE_OPERAND (_p1, 1);
    9638        23759 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    9639              :                 {
    9640        23234 :                   {
    9641        23234 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
    9642        23234 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9643        23234 :                     if (res) return res;
    9644              :                   }
    9645              :                 }
    9646          525 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    9647              :                 {
    9648           28 :                   {
    9649           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
    9650           28 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9651           28 :                     if (res) return res;
    9652              :                   }
    9653              :                 }
    9654          497 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    9655              :                 {
    9656           28 :                   {
    9657           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
    9658           28 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9659           28 :                     if (res) return res;
    9660              :                   }
    9661              :                 }
    9662          469 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9663              :                 {
    9664           28 :                   {
    9665           28 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
    9666           28 :                     tree res = generic_simplify_280 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9667           28 :                     if (res) return res;
    9668              :                   }
    9669              :                 }
    9670              :               break;
    9671              :             }
    9672       792027 :           default:;
    9673              :           }
    9674       792027 :         if (integer_pow2p (_q21))
    9675              :           {
    9676       278771 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    9677              :               {
    9678       107863 :                 {
    9679       107863 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    9680       107863 :                   tree res = generic_simplify_281 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
    9681       107863 :                   if (res) return res;
    9682              :                 }
    9683              :               }
    9684              :           }
    9685       684184 :         switch (TREE_CODE (_q20))
    9686              :           {
    9687        46349 :           CASE_CONVERT:
    9688        46349 :             {
    9689        46349 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9690        46349 :               if (integer_pow2p (_q21))
    9691              :                 {
    9692         9677 :                   if (integer_zerop (_p1))
    9693              :                     {
    9694         9675 :                       {
    9695         9675 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
    9696         9675 :                         tree res = generic_simplify_282 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9697         9675 :                         if (res) return res;
    9698              :                       }
    9699              :                     }
    9700              :                 }
    9701              :               break;
    9702              :             }
    9703       683227 :           default:;
    9704              :           }
    9705       683227 :         if (integer_pow2p (_q21))
    9706              :           {
    9707       169971 :             if (integer_zerop (_p1))
    9708              :               {
    9709       169830 :                 {
    9710       169830 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
    9711       169830 :                   tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, EQ_EXPR, GE_EXPR);
    9712       169830 :                   if (res) return res;
    9713              :                 }
    9714              :               }
    9715              :           }
    9716              :         break;
    9717              :       }
    9718         1208 :     case GE_EXPR:
    9719         1208 :       {
    9720         1208 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9721         1208 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9722         1208 :         if (integer_zerop (_q21))
    9723              :           {
    9724           95 :             switch (TREE_CODE (_p1))
    9725              :               {
    9726            5 :               case GE_EXPR:
    9727            5 :                 {
    9728            5 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9729            5 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9730            5 :                   if (integer_zerop (_q51))
    9731              :                     {
    9732            5 :                       {
    9733            5 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9734            5 :                         tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, GE_EXPR);
    9735            5 :                         if (res) return res;
    9736              :                       }
    9737              :                     }
    9738              :                   break;
    9739              :                 }
    9740            1 :               case LT_EXPR:
    9741            1 :                 {
    9742            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9743            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9744            1 :                   if (integer_zerop (_q51))
    9745              :                     {
    9746            1 :                       {
    9747            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
    9748            1 :                         tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9749            1 :                         if (res) return res;
    9750              :                       }
    9751              :                     }
    9752              :                   break;
    9753              :                 }
    9754              :               default:;
    9755              :               }
    9756              :           }
    9757              :         break;
    9758              :       }
    9759          836 :     case LT_EXPR:
    9760          836 :       {
    9761          836 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9762          836 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9763          836 :         if (integer_zerop (_q21))
    9764              :           {
    9765          139 :             switch (TREE_CODE (_p1))
    9766              :               {
    9767           11 :               case LT_EXPR:
    9768           11 :                 {
    9769           11 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9770           11 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9771           11 :                   if (integer_zerop (_q51))
    9772              :                     {
    9773            9 :                       {
    9774            9 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9775            9 :                         tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR, GE_EXPR);
    9776            9 :                         if (res) return res;
    9777              :                       }
    9778              :                     }
    9779              :                   break;
    9780              :                 }
    9781            1 :               case GE_EXPR:
    9782            1 :                 {
    9783            1 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    9784            1 :                   tree _q51 = TREE_OPERAND (_p1, 1);
    9785            1 :                   if (integer_zerop (_q51))
    9786              :                     {
    9787            1 :                       {
    9788            1 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    9789            1 :                         tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
    9790            1 :                         if (res) return res;
    9791              :                       }
    9792              :                     }
    9793              :                   break;
    9794              :                 }
    9795              :               default:;
    9796              :               }
    9797              :           }
    9798              :         break;
    9799              :       }
    9800        33494 :     case BIT_IOR_EXPR:
    9801        33494 :       {
    9802        33494 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9803        33494 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9804        33494 :         switch (TREE_CODE (_q21))
    9805              :           {
    9806          658 :           CASE_CONVERT:
    9807          658 :             {
    9808          658 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9809          658 :               switch (TREE_CODE (_q40))
    9810              :                 {
    9811            0 :                 case NE_EXPR:
    9812            0 :                   {
    9813            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9814            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    9815            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    9816              :                       {
    9817            0 :                         if (integer_zerop (_q51))
    9818              :                           {
    9819            0 :                             if (integer_zerop (_p1))
    9820              :                               {
    9821            0 :                                 {
    9822            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9823            0 :                                   tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9824            0 :                                   if (res) return res;
    9825              :                                 }
    9826              :                               }
    9827              :                           }
    9828              :                       }
    9829              :                     break;
    9830              :                   }
    9831              :                 default:;
    9832              :                 }
    9833              :               break;
    9834              :             }
    9835        33494 :           default:;
    9836              :           }
    9837        33494 :         switch (TREE_CODE (_q20))
    9838              :           {
    9839          643 :           CASE_CONVERT:
    9840          643 :             {
    9841          643 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9842          643 :               switch (TREE_CODE (_q30))
    9843              :                 {
    9844            0 :                 case NE_EXPR:
    9845            0 :                   {
    9846            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9847            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    9848            0 :                     if (integer_zerop (_q41))
    9849              :                       {
    9850            0 :                         if ((_q21 == _q40 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q40, 0) && types_match (_q21, _q40)))
    9851              :                           {
    9852            0 :                             if (integer_zerop (_p1))
    9853              :                               {
    9854            0 :                                 {
    9855            0 :                                   tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
    9856            0 :                                   tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9857            0 :                                   if (res) return res;
    9858              :                                 }
    9859              :                               }
    9860              :                           }
    9861              :                       }
    9862              :                     break;
    9863              :                   }
    9864              :                 default:;
    9865              :                 }
    9866              :               break;
    9867              :             }
    9868        33494 :           default:;
    9869              :           }
    9870        33494 :         switch (TREE_CODE (_q21))
    9871              :           {
    9872            1 :           case NE_EXPR:
    9873            1 :             {
    9874            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    9875            1 :               tree _q41 = TREE_OPERAND (_q21, 1);
    9876            1 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    9877              :                 {
    9878            0 :                   if (integer_zerop (_q41))
    9879              :                     {
    9880            0 :                       if (integer_zerop (_p1))
    9881              :                         {
    9882            0 :                           {
    9883            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    9884            0 :                             tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9885            0 :                             if (res) return res;
    9886              :                           }
    9887              :                         }
    9888              :                     }
    9889              :                 }
    9890              :               break;
    9891              :             }
    9892        33494 :           default:;
    9893              :           }
    9894        33494 :         switch (TREE_CODE (_q20))
    9895              :           {
    9896            8 :           case NE_EXPR:
    9897            8 :             {
    9898            8 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9899            8 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9900            8 :               if (integer_zerop (_q31))
    9901              :                 {
    9902            0 :                   if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
    9903              :                     {
    9904            0 :                       if (integer_zerop (_p1))
    9905              :                         {
    9906            0 :                           {
    9907            0 :                             tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    9908            0 :                             tree res = generic_simplify_287 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9909            0 :                             if (res) return res;
    9910              :                           }
    9911              :                         }
    9912              :                     }
    9913              :                 }
    9914              :               break;
    9915              :             }
    9916              :           default:;
    9917              :           }
    9918              :         break;
    9919              :       }
    9920      1892515 :     CASE_CONVERT:
    9921      1892515 :       {
    9922      1892515 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9923      1892515 :         switch (TREE_CODE (_q20))
    9924              :           {
    9925       506119 :           case ADDR_EXPR:
    9926       506119 :             {
    9927       506119 :               switch (TREE_CODE (_p1))
    9928              :                 {
    9929       477998 :                 CASE_CONVERT:
    9930       477998 :                   {
    9931       477998 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9932       477998 :                     switch (TREE_CODE (_q40))
    9933              :                       {
    9934       477998 :                       case ADDR_EXPR:
    9935       477998 :                         {
    9936       477998 :                           {
    9937       477998 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9938       477998 :                             tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9939       477998 :                             if (res) return res;
    9940              :                           }
    9941           30 :                           break;
    9942              :                         }
    9943              :                       default:;
    9944              :                       }
    9945              :                     break;
    9946              :                   }
    9947        20894 :                 case ADDR_EXPR:
    9948        20894 :                   {
    9949        20894 :                     {
    9950        20894 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9951        20894 :                       tree res = generic_simplify_288 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9952        20894 :                       if (res) return res;
    9953              :                     }
    9954         7896 :                     break;
    9955              :                   }
    9956              :                 default:;
    9957              :                 }
    9958              :               break;
    9959              :             }
    9960              :           default:;
    9961              :           }
    9962              :         break;
    9963              :       }
    9964        18096 :     case ADDR_EXPR:
    9965        18096 :       {
    9966        18096 :         switch (TREE_CODE (_p1))
    9967              :           {
    9968          119 :           CASE_CONVERT:
    9969          119 :             {
    9970          119 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9971          119 :               switch (TREE_CODE (_q30))
    9972              :                 {
    9973          119 :                 case ADDR_EXPR:
    9974          119 :                   {
    9975          119 :                     {
    9976          119 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9977          119 :                       tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9978          119 :                       if (res) return res;
    9979              :                     }
    9980            0 :                     break;
    9981              :                   }
    9982              :                 default:;
    9983              :                 }
    9984              :               break;
    9985              :             }
    9986        15597 :           case ADDR_EXPR:
    9987        15597 :             {
    9988        15597 :               {
    9989        15597 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9990        15597 :                 tree res = generic_simplify_289 (loc, type, _p0, _p1, captures, EQ_EXPR);
    9991        15597 :                 if (res) return res;
    9992              :               }
    9993         7119 :               break;
    9994              :             }
    9995              :           default:;
    9996              :           }
    9997              :         break;
    9998              :       }
    9999     22731834 :     default:;
   10000              :     }
   10001     22731834 :   {
   10002     22731834 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10003     22731834 :     tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10004     22731834 :     if (res) return res;
   10005              :   }
   10006     22728727 :   switch (TREE_CODE (_p0))
   10007              :     {
   10008      1401549 :     CASE_CONVERT:
   10009      1401549 :       {
   10010      1401549 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10011      1401549 :         switch (TREE_CODE (_p1))
   10012              :           {
   10013       252690 :           case INTEGER_CST:
   10014       252690 :             {
   10015       252690 :               {
   10016       252690 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10017       252690 :                 tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10018       252690 :                 if (res) return res;
   10019              :               }
   10020       251308 :               break;
   10021              :             }
   10022      1400167 :           default:;
   10023              :           }
   10024      1400167 :         switch (TREE_CODE (_q20))
   10025              :           {
   10026            0 :           case NE_EXPR:
   10027            0 :             {
   10028            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10029            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10030            0 :               switch (TREE_CODE (_q31))
   10031              :                 {
   10032            0 :                 case INTEGER_CST:
   10033            0 :                   {
   10034            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10035              :                       {
   10036            0 :                         {
   10037            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10038            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10039            0 :                           if (res) return res;
   10040              :                         }
   10041              :                       }
   10042              :                     break;
   10043              :                   }
   10044              :                 default:;
   10045              :                 }
   10046              :               break;
   10047              :             }
   10048            0 :           case EQ_EXPR:
   10049            0 :             {
   10050            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10051            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10052            0 :               switch (TREE_CODE (_q31))
   10053              :                 {
   10054            0 :                 case INTEGER_CST:
   10055            0 :                   {
   10056            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
   10057              :                       {
   10058            0 :                         {
   10059            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
   10060            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10061            0 :                           if (res) return res;
   10062              :                         }
   10063              :                       }
   10064              :                     break;
   10065              :                   }
   10066              :                 default:;
   10067              :                 }
   10068              :               break;
   10069              :             }
   10070              :           default:;
   10071              :           }
   10072              :         break;
   10073              :       }
   10074     22727345 :     default:;
   10075              :     }
   10076     22727345 :   switch (TREE_CODE (_p1))
   10077              :     {
   10078       645696 :     CASE_CONVERT:
   10079       645696 :       {
   10080       645696 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10081       645696 :         switch (TREE_CODE (_q30))
   10082              :           {
   10083            0 :           case NE_EXPR:
   10084            0 :             {
   10085            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10086            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10087            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10088              :                 {
   10089            0 :                   switch (TREE_CODE (_q41))
   10090              :                     {
   10091            0 :                     case INTEGER_CST:
   10092            0 :                       {
   10093            0 :                         {
   10094            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10095            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
   10096            0 :                           if (res) return res;
   10097              :                         }
   10098            0 :                         break;
   10099              :                       }
   10100              :                     default:;
   10101              :                     }
   10102              :                 }
   10103              :               break;
   10104              :             }
   10105            0 :           case EQ_EXPR:
   10106            0 :             {
   10107            0 :               tree _q40 = TREE_OPERAND (_q30, 0);
   10108            0 :               tree _q41 = TREE_OPERAND (_q30, 1);
   10109            0 :               if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   10110              :                 {
   10111            0 :                   switch (TREE_CODE (_q41))
   10112              :                     {
   10113            0 :                     case INTEGER_CST:
   10114            0 :                       {
   10115            0 :                         {
   10116            0 :                           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
   10117            0 :                           tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10118            0 :                           if (res) return res;
   10119              :                         }
   10120            0 :                         break;
   10121              :                       }
   10122              :                     default:;
   10123              :                     }
   10124              :                 }
   10125              :               break;
   10126              :             }
   10127              :           default:;
   10128              :           }
   10129              :         break;
   10130              :       }
   10131     22727345 :     default:;
   10132              :     }
   10133     22727345 : if (integer_onep (_p1))
   10134              :   {
   10135      1728514 :     {
   10136      1728514 :       tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10137      1728514 :       if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
   10138      1728514 :  && types_match (type, TREE_TYPE (captures[0]))
   10139              : )
   10140              :         {
   10141       114027 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1515;
   10142       114027 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1515;
   10143       114027 :           {
   10144       114027 :             tree res_op0;
   10145       114027 :             res_op0 = captures[0];
   10146       114027 :             tree _r;
   10147       114027 :             _r = non_lvalue_loc (loc, res_op0);
   10148       114027 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 988, __FILE__, __LINE__, true);
   10149       114027 :             return _r;
   10150              :           }
   10151              : next_after_fail1515:;
   10152              :         }
   10153              :     }
   10154              :   }
   10155     22613318 :   switch (TREE_CODE (_p0))
   10156              :     {
   10157       682935 :     case BIT_AND_EXPR:
   10158       682935 :       {
   10159       682935 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10160       682935 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10161       682935 :         switch (TREE_CODE (_q21))
   10162              :           {
   10163          425 :           case VECTOR_CST:
   10164          425 :             {
   10165          425 :               if (integer_zerop (_p1))
   10166              :                 {
   10167          398 :                   {
   10168          398 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10169          398 :                     const enum tree_code cmp = EQ_EXPR;
   10170          398 :                     const enum tree_code icmp = LE_EXPR;
   10171          398 :                     {
   10172          398 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10173          398 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10174              : )
   10175              :                           {
   10176            2 :                             {
   10177            2 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10178            2 :  ? optab_vector : optab_default;
   10179            2 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10180            2 :                                 if (target_supports_op_p (utype, icmp, optab)
   10181            2 :  || (optimize_vectors_before_lowering_p ()
   10182            2 :  && (!target_supports_op_p (type, cmp, optab)
   10183            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10184              : )
   10185              :                                   {
   10186            2 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10187              : )
   10188              :                                       {
   10189            2 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1516;
   10190            2 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1516;
   10191            2 :                                         {
   10192            2 :                                           tree res_op0;
   10193            2 :                                           res_op0 = captures[1];
   10194            2 :                                           tree res_op1;
   10195            2 :                                           res_op1 =  csts;
   10196            2 :                                           tree _r;
   10197            2 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10198            2 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10199            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10200            2 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10201            2 :                                           return _r;
   10202              :                                         }
   10203          396 : next_after_fail1516:;
   10204              :                                       }
   10205              :                                     else
   10206              :                                       {
   10207            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1517;
   10208            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1517;
   10209            0 :                                         {
   10210            0 :                                           tree res_op0;
   10211            0 :                                           {
   10212            0 :                                             tree _o1[1], _r1;
   10213            0 :                                             _o1[0] = captures[1];
   10214            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10215              :                                               {
   10216            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10217              :                                               }
   10218              :                                             else
   10219              :                                               _r1 = _o1[0];
   10220            0 :                                             res_op0 = _r1;
   10221              :                                           }
   10222            0 :                                           tree res_op1;
   10223            0 :                                           res_op1 =  csts;
   10224            0 :                                           tree _r;
   10225            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10226            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10227            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10228            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10229            0 :                                           return _r;
   10230              :                                         }
   10231          396 : next_after_fail1517:;
   10232              :                                       }
   10233              :                                   }
   10234              :                             }
   10235              :                           }
   10236              :                     }
   10237              :                   }
   10238              :                 }
   10239              :               break;
   10240              :             }
   10241       621839 :           case INTEGER_CST:
   10242       621839 :             {
   10243       621839 :               if (integer_zerop (_p1))
   10244              :                 {
   10245       512079 :                   {
   10246       512079 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10247       512079 :                     const enum tree_code cmp = EQ_EXPR;
   10248       512079 :                     const enum tree_code icmp = LE_EXPR;
   10249       512079 :                     {
   10250       512079 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10251       512079 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10252              : )
   10253              :                           {
   10254         1046 :                             {
   10255         1046 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10256         1046 :  ? optab_vector : optab_default;
   10257         1046 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10258         1046 :                                 if (target_supports_op_p (utype, icmp, optab)
   10259         1046 :  || (optimize_vectors_before_lowering_p ()
   10260          902 :  && (!target_supports_op_p (type, cmp, optab)
   10261            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10262              : )
   10263              :                                   {
   10264          902 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10265              : )
   10266              :                                       {
   10267          613 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1518;
   10268          613 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
   10269          613 :                                         {
   10270          613 :                                           tree res_op0;
   10271          613 :                                           res_op0 = captures[1];
   10272          613 :                                           tree res_op1;
   10273          613 :                                           res_op1 =  csts;
   10274          613 :                                           tree _r;
   10275          613 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10276          613 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10277            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10278          613 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10279          613 :                                           return _r;
   10280              :                                         }
   10281       511177 : next_after_fail1518:;
   10282              :                                       }
   10283              :                                     else
   10284              :                                       {
   10285          289 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1519;
   10286          289 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
   10287          289 :                                         {
   10288          289 :                                           tree res_op0;
   10289          289 :                                           {
   10290          289 :                                             tree _o1[1], _r1;
   10291          289 :                                             _o1[0] = captures[1];
   10292          289 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10293              :                                               {
   10294          289 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10295              :                                               }
   10296              :                                             else
   10297              :                                               _r1 = _o1[0];
   10298          289 :                                             res_op0 = _r1;
   10299              :                                           }
   10300          289 :                                           tree res_op1;
   10301          289 :                                           res_op1 =  csts;
   10302          289 :                                           tree _r;
   10303          289 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10304          289 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10305            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10306          289 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10307          289 :                                           return _r;
   10308              :                                         }
   10309       511177 : next_after_fail1519:;
   10310              :                                       }
   10311              :                                   }
   10312              :                             }
   10313              :                           }
   10314              :                     }
   10315              :                   }
   10316              :                 }
   10317              :               break;
   10318              :             }
   10319       682031 :           default:;
   10320              :           }
   10321       682031 :         switch (TREE_CODE (_q20))
   10322              :           {
   10323            0 :           case VECTOR_CST:
   10324            0 :             {
   10325            0 :               if (integer_zerop (_p1))
   10326              :                 {
   10327            0 :                   {
   10328            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10329            0 :                     const enum tree_code cmp = EQ_EXPR;
   10330            0 :                     const enum tree_code icmp = LE_EXPR;
   10331            0 :                     {
   10332            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10333            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10334              : )
   10335              :                           {
   10336            0 :                             {
   10337            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10338            0 :  ? optab_vector : optab_default;
   10339            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10340            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10341            0 :  || (optimize_vectors_before_lowering_p ()
   10342            0 :  && (!target_supports_op_p (type, cmp, optab)
   10343            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10344              : )
   10345              :                                   {
   10346            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10347              : )
   10348              :                                       {
   10349            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1520;
   10350            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1520;
   10351            0 :                                         {
   10352            0 :                                           tree res_op0;
   10353            0 :                                           res_op0 = captures[1];
   10354            0 :                                           tree res_op1;
   10355            0 :                                           res_op1 =  csts;
   10356            0 :                                           tree _r;
   10357            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10358            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10359            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10360            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10361            0 :                                           return _r;
   10362              :                                         }
   10363            0 : next_after_fail1520:;
   10364              :                                       }
   10365              :                                     else
   10366              :                                       {
   10367            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1521;
   10368            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1521;
   10369            0 :                                         {
   10370            0 :                                           tree res_op0;
   10371            0 :                                           {
   10372            0 :                                             tree _o1[1], _r1;
   10373            0 :                                             _o1[0] = captures[1];
   10374            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10375              :                                               {
   10376            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10377              :                                               }
   10378              :                                             else
   10379              :                                               _r1 = _o1[0];
   10380            0 :                                             res_op0 = _r1;
   10381              :                                           }
   10382            0 :                                           tree res_op1;
   10383            0 :                                           res_op1 =  csts;
   10384            0 :                                           tree _r;
   10385            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10386            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10387            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10388            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10389            0 :                                           return _r;
   10390              :                                         }
   10391            0 : next_after_fail1521:;
   10392              :                                       }
   10393              :                                   }
   10394              :                             }
   10395              :                           }
   10396              :                     }
   10397              :                   }
   10398              :                 }
   10399              :               break;
   10400              :             }
   10401            0 :           case INTEGER_CST:
   10402            0 :             {
   10403            0 :               if (integer_zerop (_p1))
   10404              :                 {
   10405            0 :                   {
   10406            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10407            0 :                     const enum tree_code cmp = EQ_EXPR;
   10408            0 :                     const enum tree_code icmp = LE_EXPR;
   10409            0 :                     {
   10410            0 :  tree csts = bitmask_inv_cst_vector_p (captures[2]);
   10411            0 :                         if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
   10412              : )
   10413              :                           {
   10414            0 :                             {
   10415            0 :  auto optab = VECTOR_TYPE_P (TREE_TYPE (captures[2]))
   10416            0 :  ? optab_vector : optab_default;
   10417            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   10418            0 :                                 if (target_supports_op_p (utype, icmp, optab)
   10419            0 :  || (optimize_vectors_before_lowering_p ()
   10420            0 :  && (!target_supports_op_p (type, cmp, optab)
   10421            0 :  || !target_supports_op_p (type, BIT_AND_EXPR, optab)))
   10422              : )
   10423              :                                   {
   10424            0 :                                     if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   10425              : )
   10426              :                                       {
   10427            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1522;
   10428            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1522;
   10429            0 :                                         {
   10430            0 :                                           tree res_op0;
   10431            0 :                                           res_op0 = captures[1];
   10432            0 :                                           tree res_op1;
   10433            0 :                                           res_op1 =  csts;
   10434            0 :                                           tree _r;
   10435            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10436            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10437            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10438            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
   10439            0 :                                           return _r;
   10440              :                                         }
   10441            0 : next_after_fail1522:;
   10442              :                                       }
   10443              :                                     else
   10444              :                                       {
   10445            0 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1523;
   10446            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1523;
   10447            0 :                                         {
   10448            0 :                                           tree res_op0;
   10449            0 :                                           {
   10450            0 :                                             tree _o1[1], _r1;
   10451            0 :                                             _o1[0] = captures[1];
   10452            0 :                                             if (TREE_TYPE (_o1[0]) != utype)
   10453              :                                               {
   10454            0 :                                                 _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, utype, _o1[0]);
   10455              :                                               }
   10456              :                                             else
   10457              :                                               _r1 = _o1[0];
   10458            0 :                                             res_op0 = _r1;
   10459              :                                           }
   10460            0 :                                           tree res_op1;
   10461            0 :                                           res_op1 =  csts;
   10462            0 :                                           tree _r;
   10463            0 :                                           _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
   10464            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   10465            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10466            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
   10467            0 :                                           return _r;
   10468              :                                         }
   10469            0 : next_after_fail1523:;
   10470              :                                       }
   10471              :                                   }
   10472              :                             }
   10473              :                           }
   10474              :                     }
   10475              :                   }
   10476              :                 }
   10477              :               break;
   10478              :             }
   10479              :           default:;
   10480              :           }
   10481              :         break;
   10482              :       }
   10483        16754 :     case RSHIFT_EXPR:
   10484        16754 :       {
   10485        16754 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10486        16754 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10487        16754 :         switch (TREE_CODE (_q20))
   10488              :           {
   10489            1 :           case MULT_EXPR:
   10490            1 :             {
   10491            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
   10492            1 :               tree _q31 = TREE_OPERAND (_q20, 1);
   10493            1 :               switch (TREE_CODE (_q30))
   10494              :                 {
   10495            1 :                 CASE_CONVERT:
   10496            1 :                   {
   10497            1 :                     tree _q40 = TREE_OPERAND (_q30, 0);
   10498            1 :                     switch (TREE_CODE (_q31))
   10499              :                       {
   10500            1 :                       CASE_CONVERT:
   10501            1 :                         {
   10502            1 :                           tree _q60 = TREE_OPERAND (_q31, 0);
   10503            1 :                           switch (TREE_CODE (_q21))
   10504              :                             {
   10505            1 :                             case INTEGER_CST:
   10506            1 :                               {
   10507            1 :                                 if (integer_zerop (_p1))
   10508              :                                   {
   10509            1 :                                     {
   10510            1 :                                       tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
   10511            1 :                                       tree res = generic_simplify_293 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10512            1 :                                       if (res) return res;
   10513              :                                     }
   10514              :                                   }
   10515              :                                 break;
   10516              :                               }
   10517              :                             default:;
   10518              :                             }
   10519              :                           break;
   10520              :                         }
   10521              :                       default:;
   10522              :                       }
   10523              :                     break;
   10524              :                   }
   10525              :                 default:;
   10526              :                 }
   10527              :               break;
   10528              :             }
   10529              :           default:;
   10530              :           }
   10531              :         break;
   10532              :       }
   10533       651566 :     case PLUS_EXPR:
   10534       651566 :       {
   10535       651566 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10536       651566 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10537       651566 :         switch (TREE_CODE (_q21))
   10538              :           {
   10539       605925 :           case INTEGER_CST:
   10540       605925 :             {
   10541       605925 :               switch (TREE_CODE (_p1))
   10542              :                 {
   10543       339036 :                 case INTEGER_CST:
   10544       339036 :                   {
   10545       339036 :                     {
   10546       339036 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10547       339036 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR);
   10548       339036 :                       if (res) return res;
   10549              :                     }
   10550           14 :                     break;
   10551              :                   }
   10552              :                 default:;
   10553              :                 }
   10554              :               break;
   10555              :             }
   10556              :           default:;
   10557              :           }
   10558              :         break;
   10559              :       }
   10560        95674 :     case MINUS_EXPR:
   10561        95674 :       {
   10562        95674 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10563        95674 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10564        95674 :         switch (TREE_CODE (_q21))
   10565              :           {
   10566           19 :           case INTEGER_CST:
   10567           19 :             {
   10568           19 :               switch (TREE_CODE (_p1))
   10569              :                 {
   10570           16 :                 case INTEGER_CST:
   10571           16 :                   {
   10572           16 :                     {
   10573           16 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10574           16 :                       tree res = generic_simplify_294 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR);
   10575           16 :                       if (res) return res;
   10576              :                     }
   10577           16 :                     break;
   10578              :                   }
   10579              :                 default:;
   10580              :                 }
   10581              :               break;
   10582              :             }
   10583        95674 :           default:;
   10584              :           }
   10585        95674 :         switch (TREE_CODE (_q20))
   10586              :           {
   10587        38322 :           case INTEGER_CST:
   10588        38322 :             {
   10589        38322 :               switch (TREE_CODE (_p1))
   10590              :                 {
   10591        37286 :                 case INTEGER_CST:
   10592        37286 :                   {
   10593        37286 :                     {
   10594        37286 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10595        37286 :                       tree res = generic_simplify_295 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
   10596        37286 :                       if (res) return res;
   10597              :                     }
   10598            0 :                     break;
   10599              :                   }
   10600              :                 default:;
   10601              :                 }
   10602              :               break;
   10603              :             }
   10604              :           default:;
   10605              :           }
   10606              :         break;
   10607              :       }
   10608      1922329 :     case CALL_EXPR:
   10609      1922329 :       switch (get_call_combined_fn (_p0))
   10610              :         {
   10611           19 :         case CFN_BUILT_IN_CLZ:
   10612           19 :           if (call_expr_nargs (_p0) == 1)
   10613              :     {
   10614           19 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10615           19 :               switch (TREE_CODE (_p1))
   10616              :                 {
   10617           19 :                 case INTEGER_CST:
   10618           19 :                   {
   10619           19 :                     {
   10620           19 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10621           19 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ);
   10622           19 :                       if (res) return res;
   10623              :                     }
   10624           16 :                     break;
   10625              :                   }
   10626              :                 default:;
   10627              :                 }
   10628              :             }
   10629              :           break;
   10630           17 :         case CFN_BUILT_IN_CTZ:
   10631           17 :           if (call_expr_nargs (_p0) == 1)
   10632              :     {
   10633           17 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10634           17 :               switch (TREE_CODE (_p1))
   10635              :                 {
   10636           17 :                 case INTEGER_CST:
   10637           17 :                   {
   10638           17 :                     {
   10639           17 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10640           17 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZ);
   10641           17 :                       if (res) return res;
   10642              :                     }
   10643           16 :                     break;
   10644              :                   }
   10645              :                 default:;
   10646              :                 }
   10647              :             }
   10648              :           break;
   10649            4 :         case CFN_BUILT_IN_FFS:
   10650            4 :           if (call_expr_nargs (_p0) == 1)
   10651              :     {
   10652            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10653            4 :               switch (TREE_CODE (_p1))
   10654              :                 {
   10655            4 :                 case INTEGER_CST:
   10656            4 :                   {
   10657            4 :                     {
   10658            4 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10659            4 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFS);
   10660            4 :                       if (res) return res;
   10661              :                     }
   10662            0 :                     break;
   10663              :                   }
   10664              :                 default:;
   10665              :                 }
   10666              :             }
   10667              :           break;
   10668            0 :         case CFN_REDUC_IOR:
   10669            0 :           if (call_expr_nargs (_p0) == 1)
   10670              :     {
   10671            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10672            0 :               if (integer_zerop (_p1))
   10673              :                 {
   10674            0 :                   {
   10675            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10676            0 :                     tree res = generic_simplify_302 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10677            0 :                     if (res) return res;
   10678              :                   }
   10679              :                 }
   10680              :             }
   10681              :           break;
   10682            0 :         case CFN_BUILT_IN_FFSIMAX:
   10683            0 :           if (call_expr_nargs (_p0) == 1)
   10684              :     {
   10685            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10686            0 :               switch (TREE_CODE (_p1))
   10687              :                 {
   10688            0 :                 case INTEGER_CST:
   10689            0 :                   {
   10690            0 :                     {
   10691            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10692            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX);
   10693            0 :                       if (res) return res;
   10694              :                     }
   10695            0 :                     break;
   10696              :                   }
   10697              :                 default:;
   10698              :                 }
   10699              :             }
   10700              :           break;
   10701           15 :         case CFN_BUILT_IN_POPCOUNT:
   10702           15 :           if (call_expr_nargs (_p0) == 1)
   10703              :     {
   10704           15 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10705           15 :               if (integer_zerop (_p1))
   10706              :                 {
   10707            1 :                   {
   10708            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10709            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT);
   10710            1 :                     if (res) return res;
   10711              :                   }
   10712              :                 }
   10713              :             }
   10714              :           break;
   10715            0 :         case CFN_BUILT_IN_CLZL:
   10716            0 :           if (call_expr_nargs (_p0) == 1)
   10717              :     {
   10718            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10719            0 :               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_296 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL);
   10726            0 :                       if (res) return res;
   10727              :                     }
   10728            0 :                     break;
   10729              :                   }
   10730              :                 default:;
   10731              :                 }
   10732              :             }
   10733              :           break;
   10734           16 :         case CFN_BUILT_IN_CTZL:
   10735           16 :           if (call_expr_nargs (_p0) == 1)
   10736              :     {
   10737           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10738           16 :               switch (TREE_CODE (_p1))
   10739              :                 {
   10740           16 :                 case INTEGER_CST:
   10741           16 :                   {
   10742           16 :                     {
   10743           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10744           16 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZL);
   10745           16 :                       if (res) return res;
   10746              :                     }
   10747           16 :                     break;
   10748              :                   }
   10749              :                 default:;
   10750              :                 }
   10751              :             }
   10752              :           break;
   10753            1 :         case CFN_BUILT_IN_FFSL:
   10754            1 :           if (call_expr_nargs (_p0) == 1)
   10755              :     {
   10756            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10757            1 :               switch (TREE_CODE (_p1))
   10758              :                 {
   10759            1 :                 case INTEGER_CST:
   10760            1 :                   {
   10761            1 :                     {
   10762            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10763            1 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSL);
   10764            1 :                       if (res) return res;
   10765              :                     }
   10766            0 :                     break;
   10767              :                   }
   10768              :                 default:;
   10769              :                 }
   10770              :             }
   10771              :           break;
   10772            7 :         case CFN_BUILT_IN_POPCOUNTLL:
   10773            7 :           if (call_expr_nargs (_p0) == 1)
   10774              :     {
   10775            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10776            7 :               if (integer_zerop (_p1))
   10777              :                 {
   10778            1 :                   {
   10779            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10780            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL);
   10781            1 :                     if (res) return res;
   10782              :                   }
   10783              :                 }
   10784              :             }
   10785              :           break;
   10786            0 :         case CFN_BUILT_IN_CTZIMAX:
   10787            0 :           if (call_expr_nargs (_p0) == 1)
   10788              :     {
   10789            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10790            0 :               switch (TREE_CODE (_p1))
   10791              :                 {
   10792            0 :                 case INTEGER_CST:
   10793            0 :                   {
   10794            0 :                     {
   10795            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10796            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10797            0 :                       if (res) return res;
   10798              :                     }
   10799            0 :                     break;
   10800              :                   }
   10801              :                 default:;
   10802              :                 }
   10803              :             }
   10804              :           break;
   10805            0 :         case CFN_POPCOUNT:
   10806            0 :           if (call_expr_nargs (_p0) == 1)
   10807              :     {
   10808            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10809            0 :               if (integer_zerop (_p1))
   10810              :                 {
   10811            0 :                   {
   10812            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10813            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT);
   10814            0 :                     if (res) return res;
   10815              :                   }
   10816              :                 }
   10817              :             }
   10818              :           break;
   10819            0 :         case CFN_CLZ:
   10820            0 :           if (call_expr_nargs (_p0) == 1)
   10821              :     {
   10822            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10823            0 :               switch (TREE_CODE (_p1))
   10824              :                 {
   10825            0 :                 case INTEGER_CST:
   10826            0 :                   {
   10827            0 :                     {
   10828            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10829            0 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_CLZ);
   10830            0 :                       if (res) return res;
   10831              :                     }
   10832            0 :                     break;
   10833              :                   }
   10834              :                 default:;
   10835              :                 }
   10836              :             }
   10837            0 :           if (call_expr_nargs (_p0) == 2)
   10838              :     {
   10839            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10840            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10841            0 :               switch (TREE_CODE (_p1))
   10842              :                 {
   10843            0 :                 case INTEGER_CST:
   10844            0 :                   {
   10845            0 :                     {
   10846            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10847            0 :                       tree res = generic_simplify_297 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR);
   10848            0 :                       if (res) return res;
   10849              :                     }
   10850            0 :                     break;
   10851              :                   }
   10852              :                 default:;
   10853              :                 }
   10854              :             }
   10855              :           break;
   10856            0 :         case CFN_CTZ:
   10857            0 :           if (call_expr_nargs (_p0) == 1)
   10858              :     {
   10859            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10860            0 :               switch (TREE_CODE (_p1))
   10861              :                 {
   10862            0 :                 case INTEGER_CST:
   10863            0 :                   {
   10864            0 :                     {
   10865            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10866            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_CTZ);
   10867            0 :                       if (res) return res;
   10868              :                     }
   10869            0 :                     break;
   10870              :                   }
   10871              :                 default:;
   10872              :                 }
   10873              :             }
   10874            0 :           if (call_expr_nargs (_p0) == 2)
   10875              :     {
   10876            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10877            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10878            0 :               switch (TREE_CODE (_p1))
   10879              :                 {
   10880            0 :                 case INTEGER_CST:
   10881            0 :                   {
   10882            0 :                     {
   10883            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10884            0 :                       tree res = generic_simplify_299 (loc, type, _p0, _p1, captures, EQ_EXPR);
   10885            0 :                       if (res) return res;
   10886              :                     }
   10887            0 :                     break;
   10888              :                   }
   10889              :                 default:;
   10890              :                 }
   10891              :             }
   10892              :           break;
   10893            0 :         case CFN_FFS:
   10894            0 :           if (call_expr_nargs (_p0) == 1)
   10895              :     {
   10896            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10897            0 :               switch (TREE_CODE (_p1))
   10898              :                 {
   10899            0 :                 case INTEGER_CST:
   10900            0 :                   {
   10901            0 :                     {
   10902            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10903            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_FFS);
   10904            0 :                       if (res) return res;
   10905              :                     }
   10906            0 :                     break;
   10907              :                   }
   10908              :                 default:;
   10909              :                 }
   10910              :             }
   10911              :           break;
   10912            0 :         case CFN_BUILT_IN_POPCOUNTIMAX:
   10913            0 :           if (call_expr_nargs (_p0) == 1)
   10914              :     {
   10915            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10916            0 :               if (integer_zerop (_p1))
   10917              :                 {
   10918            0 :                   {
   10919            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10920            0 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX);
   10921            0 :                     if (res) return res;
   10922              :                   }
   10923              :                 }
   10924              :             }
   10925              :           break;
   10926            0 :         case CFN_BUILT_IN_CLZIMAX:
   10927            0 :           if (call_expr_nargs (_p0) == 1)
   10928              :     {
   10929            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10930            0 :               switch (TREE_CODE (_p1))
   10931              :                 {
   10932            0 :                 case INTEGER_CST:
   10933            0 :                   {
   10934            0 :                     {
   10935            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10936            0 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX);
   10937            0 :                       if (res) return res;
   10938              :                     }
   10939            0 :                     break;
   10940              :                   }
   10941              :                 default:;
   10942              :                 }
   10943              :             }
   10944              :           break;
   10945            7 :         case CFN_BUILT_IN_POPCOUNTL:
   10946            7 :           if (call_expr_nargs (_p0) == 1)
   10947              :     {
   10948            7 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10949            7 :               if (integer_zerop (_p1))
   10950              :                 {
   10951            1 :                   {
   10952            1 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10953            1 :                     tree res = generic_simplify_300 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL);
   10954            1 :                     if (res) return res;
   10955              :                   }
   10956              :                 }
   10957              :             }
   10958              :           break;
   10959           16 :         case CFN_BUILT_IN_CLZLL:
   10960           16 :           if (call_expr_nargs (_p0) == 1)
   10961              :     {
   10962           16 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10963           16 :               switch (TREE_CODE (_p1))
   10964              :                 {
   10965           16 :                 case INTEGER_CST:
   10966           16 :                   {
   10967           16 :                     {
   10968           16 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10969           16 :                       tree res = generic_simplify_296 (loc, type, _p0, _p1, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL);
   10970           16 :                       if (res) return res;
   10971              :                     }
   10972           16 :                     break;
   10973              :                   }
   10974              :                 default:;
   10975              :                 }
   10976              :             }
   10977              :           break;
   10978            0 :         case CFN_BUILT_IN_CTZLL:
   10979            0 :           if (call_expr_nargs (_p0) == 1)
   10980              :     {
   10981            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10982            0 :               switch (TREE_CODE (_p1))
   10983              :                 {
   10984            0 :                 case INTEGER_CST:
   10985            0 :                   {
   10986            0 :                     {
   10987            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10988            0 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10989            0 :                       if (res) return res;
   10990              :                     }
   10991            0 :                     break;
   10992              :                   }
   10993              :                 default:;
   10994              :                 }
   10995              :             }
   10996              :           break;
   10997            0 :         case CFN_BUILT_IN_FFSLL:
   10998            0 :           if (call_expr_nargs (_p0) == 1)
   10999              :     {
   11000            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   11001            0 :               switch (TREE_CODE (_p1))
   11002              :                 {
   11003            0 :                 case INTEGER_CST:
   11004            0 :                   {
   11005            0 :                     {
   11006            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   11007            0 :                       tree res = generic_simplify_301 (loc, type, _p0, _p1, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL);
   11008            0 :                       if (res) return res;
   11009              :                     }
   11010            0 :                     break;
   11011              :                   }
   11012              :                 default:;
   11013              :                 }
   11014              :             }
   11015              :           break;
   11016              :         default:;
   11017              :         }
   11018              :       break;
   11019              :     default:;
   11020              :     }
   11021              :   return NULL_TREE;
   11022              : }
   11023              : 
   11024              : tree
   11025           79 : generic_simplify_LTGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11026              : {
   11027           79 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11028           79 :   switch (TREE_CODE (_p0))
   11029              :     {
   11030            0 :     case VEC_COND_EXPR:
   11031            0 :       {
   11032            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11033            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11034            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11035            0 :         switch (TREE_CODE (_p1))
   11036              :           {
   11037            0 :           case VEC_COND_EXPR:
   11038            0 :             {
   11039            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11040            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11041            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11042            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11043              :                 {
   11044            0 :                   {
   11045            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11046            0 :                     if (VECTOR_TYPE_P (type)
   11047            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11048            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11049            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11050              :  || (optimize_vectors_before_lowering_p ()
   11051            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11052              : )
   11053              :                       {
   11054            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1785;
   11055            0 :                         {
   11056            0 :                           tree res_op0;
   11057            0 :                           res_op0 = captures[1];
   11058            0 :                           tree res_op1;
   11059            0 :                           {
   11060            0 :                             tree _o1[2], _r1;
   11061            0 :                             _o1[0] = captures[2];
   11062            0 :                             _o1[1] = captures[5];
   11063            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11064            0 :                             if (EXPR_P (_r1))
   11065            0 :                               goto next_after_fail1785;
   11066            0 :                             res_op1 = _r1;
   11067              :                           }
   11068            0 :                           tree res_op2;
   11069            0 :                           {
   11070            0 :                             tree _o1[2], _r1;
   11071            0 :                             _o1[0] = captures[3];
   11072            0 :                             _o1[1] = captures[6];
   11073            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11074            0 :                             if (EXPR_P (_r1))
   11075            0 :                               goto next_after_fail1785;
   11076            0 :                             res_op2 = _r1;
   11077              :                           }
   11078            0 :                           tree _r;
   11079            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11080            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   11081            0 :                           return _r;
   11082              :                         }
   11083            0 : next_after_fail1785:;
   11084              :                       }
   11085              :                   }
   11086              :                 }
   11087              :               break;
   11088              :             }
   11089            0 :           default:;
   11090              :           }
   11091            0 :         {
   11092            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11093            0 :           if (VECTOR_TYPE_P (type)
   11094            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11095            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11096            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11097              :  || (optimize_vectors_before_lowering_p ()
   11098            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11099              : )
   11100              :             {
   11101            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1786;
   11102            0 :               {
   11103            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1786;
   11104            0 :                 tree res_op0;
   11105            0 :                 res_op0 = captures[1];
   11106            0 :                 tree res_op1;
   11107            0 :                 {
   11108            0 :                   tree _o1[2], _r1;
   11109            0 :                   _o1[0] = captures[2];
   11110            0 :                   _o1[1] = unshare_expr (captures[4]);
   11111            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11112            0 :                   if (EXPR_P (_r1))
   11113            0 :                     goto next_after_fail1786;
   11114            0 :                   res_op1 = _r1;
   11115              :                 }
   11116            0 :                 tree res_op2;
   11117            0 :                 {
   11118            0 :                   tree _o1[2], _r1;
   11119            0 :                   _o1[0] = captures[3];
   11120            0 :                   _o1[1] = captures[4];
   11121            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11122            0 :                   if (EXPR_P (_r1))
   11123            0 :                     goto next_after_fail1786;
   11124            0 :                   res_op2 = _r1;
   11125              :                 }
   11126            0 :                 tree _r;
   11127            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11128            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
   11129            0 :                 return _r;
   11130              :               }
   11131            0 : next_after_fail1786:;
   11132              :             }
   11133              :         }
   11134            0 :         break;
   11135              :       }
   11136           79 :     default:;
   11137              :     }
   11138           79 :   switch (TREE_CODE (_p1))
   11139              :     {
   11140            0 :     case VEC_COND_EXPR:
   11141            0 :       {
   11142            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11143            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11144            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11145            0 :         {
   11146            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11147            0 :           if (VECTOR_TYPE_P (type)
   11148            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11149            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11150            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11151              :  || (optimize_vectors_before_lowering_p ()
   11152            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11153              : )
   11154              :             {
   11155            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1787;
   11156            0 :               {
   11157            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1787;
   11158            0 :                 tree res_op0;
   11159            0 :                 res_op0 = captures[2];
   11160            0 :                 tree res_op1;
   11161            0 :                 {
   11162            0 :                   tree _o1[2], _r1;
   11163            0 :                   _o1[0] = unshare_expr (captures[0]);
   11164            0 :                   _o1[1] = captures[3];
   11165            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11166            0 :                   if (EXPR_P (_r1))
   11167            0 :                     goto next_after_fail1787;
   11168            0 :                   res_op1 = _r1;
   11169              :                 }
   11170            0 :                 tree res_op2;
   11171            0 :                 {
   11172            0 :                   tree _o1[2], _r1;
   11173            0 :                   _o1[0] = captures[0];
   11174            0 :                   _o1[1] = captures[4];
   11175            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11176            0 :                   if (EXPR_P (_r1))
   11177            0 :                     goto next_after_fail1787;
   11178            0 :                   res_op2 = _r1;
   11179              :                 }
   11180            0 :                 tree _r;
   11181            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11182            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
   11183            0 :                 return _r;
   11184              :               }
   11185            0 : next_after_fail1787:;
   11186              :             }
   11187              :         }
   11188            0 :         break;
   11189              :       }
   11190           79 :     default:;
   11191              :     }
   11192           79 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11193              :     {
   11194            2 :       {
   11195            2 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11196            2 :         if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
   11197              : )
   11198              :           {
   11199            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1788;
   11200            0 :             {
   11201            0 :               tree _r;
   11202            0 :               _r =  constant_boolean_node (false, type);
   11203            0 :               if (TREE_SIDE_EFFECTS (captures[0]))
   11204            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11205            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11206            0 :               return _r;
   11207              :             }
   11208            0 : next_after_fail1788:;
   11209              :           }
   11210              :       }
   11211              :     }
   11212           79 :   switch (TREE_CODE (_p0))
   11213              :     {
   11214            0 :     case FLOAT_EXPR:
   11215            0 :       {
   11216            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11217            0 :         switch (TREE_CODE (_p1))
   11218              :           {
   11219            0 :           case FLOAT_EXPR:
   11220            0 :             {
   11221            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11222            0 :               {
   11223            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11224            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LTGT_EXPR, NE_EXPR);
   11225            0 :                 if (res) return res;
   11226              :               }
   11227            0 :               break;
   11228              :             }
   11229              :           default:;
   11230              :           }
   11231              :         break;
   11232              :       }
   11233            0 :     case NEGATE_EXPR:
   11234            0 :       {
   11235            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11236            0 :         switch (TREE_CODE (_p1))
   11237              :           {
   11238            0 :           case NEGATE_EXPR:
   11239            0 :             {
   11240            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11241            0 :               {
   11242            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11243            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11244            0 :                 if (res) return res;
   11245              :               }
   11246            0 :               break;
   11247              :             }
   11248            0 :           default:;
   11249              :           }
   11250            0 :       if (CONSTANT_CLASS_P (_p1))
   11251              :         {
   11252            0 :           {
   11253            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11254            0 :             tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11255            0 :             if (res) return res;
   11256              :           }
   11257              :         }
   11258              :         break;
   11259              :       }
   11260           79 :     default:;
   11261              :     }
   11262           79 :   switch (TREE_CODE (_p1))
   11263              :     {
   11264            2 :     case REAL_CST:
   11265            2 :       {
   11266            2 :         {
   11267            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11268            2 :           tree res = generic_simplify_564 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   11269            2 :           if (res) return res;
   11270              :         }
   11271            2 :         break;
   11272              :       }
   11273              :     default:;
   11274              :     }
   11275              :   return NULL_TREE;
   11276              : }
   11277              : 
   11278              : tree
   11279       393860 : 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)
   11280              : {
   11281       393860 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11282       393860 :   switch (TREE_CODE (_p0))
   11283              :     {
   11284         1365 :     case NE_EXPR:
   11285         1365 :       {
   11286         1365 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11287         1365 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11288         1365 :         if (uniform_integer_cst_p (_q21))
   11289              :           {
   11290          431 :             switch (TREE_CODE (_p1))
   11291              :               {
   11292           35 :               case PLUS_EXPR:
   11293           35 :                 {
   11294           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11295           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   11296           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11297              :                     {
   11298           24 :                       if (uniform_integer_cst_p (_q51))
   11299              :                         {
   11300           24 :                           if (uniform_integer_cst_p (_p2))
   11301              :                             {
   11302           24 :                               {
   11303           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11304           24 :                                 {
   11305           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   11306           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   11307           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   11308           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   11309              : )
   11310              :                                       {
   11311           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1895;
   11312           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   11313           18 :                                         {
   11314           18 :                                           tree _r;
   11315           18 :                                           _r = captures[2];
   11316           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   11317            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11318           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   11319            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11320           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   11321           18 :                                           return _r;
   11322              :                                         }
   11323            6 : next_after_fail1895:;
   11324              :                                       }
   11325              :                                 }
   11326              :                               }
   11327              :                             }
   11328              :                         }
   11329              :                     }
   11330              :                   break;
   11331              :                 }
   11332              :               default:;
   11333              :               }
   11334              :           }
   11335              :         break;
   11336              :       }
   11337        16552 :     case VECTOR_CST:
   11338        16552 :       {
   11339        16552 :         {
   11340        16552 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11341        16552 :           if (integer_all_onesp (captures[0])
   11342              : )
   11343              :             {
   11344         3766 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   11345         3766 :               {
   11346         3766 :                 tree _r;
   11347         3766 :                 _r = captures[1];
   11348         3766 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11349            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11350         3766 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11351            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11352         3766 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   11353         3766 :                 return _r;
   11354              :               }
   11355            0 : next_after_fail1896:;
   11356              :             }
   11357              :           else
   11358              :             {
   11359        12786 :               if (integer_zerop (captures[0])
   11360              : )
   11361              :                 {
   11362         2015 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   11363         2015 :                   {
   11364         2015 :                     tree _r;
   11365         2015 :                     _r = captures[2];
   11366         2015 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11367            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11368         2015 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11369            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11370         2015 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   11371         2015 :                     return _r;
   11372              :                   }
   11373            0 : next_after_fail1897:;
   11374              :                 }
   11375              :             }
   11376              :         }
   11377        10771 :         break;
   11378              :       }
   11379       388061 :     default:;
   11380              :     }
   11381       388061 :   switch (TREE_CODE (_p1))
   11382              :     {
   11383       324175 :     case VECTOR_CST:
   11384       324175 :       {
   11385       324175 :         switch (TREE_CODE (_p2))
   11386              :           {
   11387       314214 :           case VECTOR_CST:
   11388       314214 :             {
   11389       314214 :               {
   11390       314214 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11391       314214 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11392       314352 :  && types_match (type, TREE_TYPE (captures[0]))
   11393              : )
   11394              :                   {
   11395          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   11396              : )
   11397              :                       {
   11398           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   11399           28 :                         {
   11400           28 :                           tree res_op0;
   11401           28 :                           res_op0 = captures[0];
   11402           28 :                           tree _r;
   11403           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   11404           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   11405            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11406           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   11407            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11408           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   11409           28 :                           return _r;
   11410              :                         }
   11411            0 : next_after_fail1898:;
   11412              :                       }
   11413              :                     else
   11414              :                       {
   11415          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   11416              : )
   11417              :                           {
   11418           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   11419           73 :                             {
   11420           73 :                               tree _r;
   11421           73 :                               _r = captures[0];
   11422           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   11423            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11424           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11425            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11426           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   11427           73 :                               return _r;
   11428              :                             }
   11429            0 : next_after_fail1899:;
   11430              :                           }
   11431              :                       }
   11432              :                   }
   11433              :               }
   11434       314113 :               break;
   11435              :             }
   11436              :           default:;
   11437              :           }
   11438              :         break;
   11439              :       }
   11440       387960 :     default:;
   11441              :     }
   11442       387960 :   switch (TREE_CODE (_p0))
   11443              :     {
   11444         1345 :     case NE_EXPR:
   11445         1345 :       {
   11446         1345 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11447         1345 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11448         1345 :         switch (TREE_CODE (_p1))
   11449              :           {
   11450            6 :           case MINUS_EXPR:
   11451            6 :             {
   11452            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11453            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11454            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11455              :                 {
   11456            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11457              :                     {
   11458            6 :                       if (integer_zerop (_p2))
   11459              :                         {
   11460            6 :                           {
   11461            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11462            6 :                             tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures);
   11463            6 :                             if (res) return res;
   11464              :                           }
   11465              :                         }
   11466              :                     }
   11467              :                 }
   11468            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11469              :                 {
   11470            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11471              :                     {
   11472            0 :                       if (integer_zerop (_p2))
   11473              :                         {
   11474            0 :                           {
   11475            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11476            0 :                             tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures);
   11477            0 :                             if (res) return res;
   11478              :                           }
   11479              :                         }
   11480              :                     }
   11481              :                 }
   11482              :               break;
   11483              :             }
   11484            6 :           case BIT_XOR_EXPR:
   11485            6 :             {
   11486            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11487            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11488            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11489              :                 {
   11490            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11491              :                     {
   11492            6 :                       if (integer_zerop (_p2))
   11493              :                         {
   11494            6 :                           {
   11495            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11496            6 :                             tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures);
   11497            6 :                             if (res) return res;
   11498              :                           }
   11499              :                         }
   11500              :                     }
   11501              :                 }
   11502            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11503              :                 {
   11504            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11505              :                     {
   11506            0 :                       if (integer_zerop (_p2))
   11507              :                         {
   11508            0 :                           {
   11509            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11510            0 :                             tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures);
   11511            0 :                             if (res) return res;
   11512              :                           }
   11513              :                         }
   11514              :                     }
   11515              :                 }
   11516              :               break;
   11517              :             }
   11518            6 :           case BIT_AND_EXPR:
   11519            6 :             {
   11520            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11521            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11522            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11523              :                 {
   11524            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11525              :                     {
   11526            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11527              :                         {
   11528            6 :                           {
   11529            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11530            6 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11531            6 :                             if (res) return res;
   11532              :                           }
   11533              :                         }
   11534            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11535              :                         {
   11536            0 :                           {
   11537            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11538            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11539            0 :                             if (res) return res;
   11540              :                           }
   11541              :                         }
   11542              :                     }
   11543              :                 }
   11544            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11545              :                 {
   11546            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11547              :                     {
   11548            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11549              :                         {
   11550            0 :                           {
   11551            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11552            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11553            0 :                             if (res) return res;
   11554              :                           }
   11555              :                         }
   11556            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11557              :                         {
   11558            0 :                           {
   11559            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11560            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11561            0 :                             if (res) return res;
   11562              :                           }
   11563              :                         }
   11564              :                     }
   11565              :                 }
   11566              :               break;
   11567              :             }
   11568            6 :           case BIT_IOR_EXPR:
   11569            6 :             {
   11570            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11571            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11572            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11573              :                 {
   11574            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11575              :                     {
   11576            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11577              :                         {
   11578            6 :                           {
   11579            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11580            6 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11581            6 :                             if (res) return res;
   11582              :                           }
   11583              :                         }
   11584            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11585              :                         {
   11586            0 :                           {
   11587            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11588            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11589            0 :                             if (res) return res;
   11590              :                           }
   11591              :                         }
   11592              :                     }
   11593              :                 }
   11594            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11595              :                 {
   11596            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11597              :                     {
   11598            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11599              :                         {
   11600            0 :                           {
   11601            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11602            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11603            0 :                             if (res) return res;
   11604              :                           }
   11605              :                         }
   11606            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11607              :                         {
   11608            0 :                           {
   11609            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11610            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11611            0 :                             if (res) return res;
   11612              :                           }
   11613              :                         }
   11614              :                     }
   11615              :                 }
   11616              :               break;
   11617              :             }
   11618            0 :           case MIN_EXPR:
   11619            0 :             {
   11620            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11621            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11622            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11623              :                 {
   11624            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11625              :                     {
   11626            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11627              :                         {
   11628            0 :                           {
   11629            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11630            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11631            0 :                             if (res) return res;
   11632              :                           }
   11633              :                         }
   11634            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11635              :                         {
   11636            0 :                           {
   11637            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11638            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11639            0 :                             if (res) return res;
   11640              :                           }
   11641              :                         }
   11642              :                     }
   11643              :                 }
   11644            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11645              :                 {
   11646            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11647              :                     {
   11648            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11649              :                         {
   11650            0 :                           {
   11651            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11652            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11653            0 :                             if (res) return res;
   11654              :                           }
   11655              :                         }
   11656            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11657              :                         {
   11658            0 :                           {
   11659            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11660            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11661            0 :                             if (res) return res;
   11662              :                           }
   11663              :                         }
   11664              :                     }
   11665              :                 }
   11666              :               break;
   11667              :             }
   11668            0 :           case MAX_EXPR:
   11669            0 :             {
   11670            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11671            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11672            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11673              :                 {
   11674            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11675              :                     {
   11676            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11677              :                         {
   11678            0 :                           {
   11679            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11680            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11681            0 :                             if (res) return res;
   11682              :                           }
   11683              :                         }
   11684            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11685              :                         {
   11686            0 :                           {
   11687            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11688            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11689            0 :                             if (res) return res;
   11690              :                           }
   11691              :                         }
   11692              :                     }
   11693              :                 }
   11694            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11695              :                 {
   11696            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11697              :                     {
   11698            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11699              :                         {
   11700            0 :                           {
   11701            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11702            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11703            0 :                             if (res) return res;
   11704              :                           }
   11705              :                         }
   11706            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11707              :                         {
   11708            0 :                           {
   11709            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11710            0 :                             tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11711            0 :                             if (res) return res;
   11712              :                           }
   11713              :                         }
   11714              :                     }
   11715              :                 }
   11716              :               break;
   11717              :             }
   11718            6 :           case MULT_EXPR:
   11719            6 :             {
   11720            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11721            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11722            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11723              :                 {
   11724            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11725              :                     {
   11726            6 :                       switch (TREE_CODE (_p2))
   11727              :                         {
   11728            6 :                         case MULT_EXPR:
   11729            6 :                           {
   11730            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11731            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11732            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11733              :                               {
   11734            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11735              :                                   {
   11736            6 :                                     {
   11737            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11738            6 :                                       const enum tree_code op = MULT_EXPR;
   11739            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11740              : )
   11741              :                                         {
   11742            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1900;
   11743            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   11744            6 :                                           {
   11745            6 :                                             tree _r;
   11746            6 :                                             _r = captures[2];
   11747            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   11748            6 :                                             return _r;
   11749              :                                           }
   11750            0 : next_after_fail1900:;
   11751              :                                         }
   11752              :                                     }
   11753              :                                   }
   11754              :                               }
   11755              :                             break;
   11756              :                           }
   11757              :                         default:;
   11758              :                         }
   11759              :                     }
   11760              :                 }
   11761            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11762              :                 {
   11763            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11764              :                     {
   11765            0 :                       switch (TREE_CODE (_p2))
   11766              :                         {
   11767            0 :                         case MULT_EXPR:
   11768            0 :                           {
   11769            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11770            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11771            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11772              :                               {
   11773            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11774              :                                   {
   11775            0 :                                     {
   11776            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11777            0 :                                       const enum tree_code op = MULT_EXPR;
   11778            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11779              : )
   11780              :                                         {
   11781            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1901;
   11782            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   11783            0 :                                           {
   11784            0 :                                             tree _r;
   11785            0 :                                             _r = captures[2];
   11786            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   11787            0 :                                             return _r;
   11788              :                                           }
   11789            0 : next_after_fail1901:;
   11790              :                                         }
   11791              :                                     }
   11792              :                                   }
   11793              :                               }
   11794              :                             break;
   11795              :                           }
   11796              :                         default:;
   11797              :                         }
   11798              :                     }
   11799              :                 }
   11800              :               break;
   11801              :             }
   11802           35 :           case PLUS_EXPR:
   11803           35 :             {
   11804           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11805           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11806           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11807              :                 {
   11808           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11809              :                     {
   11810           12 :                       switch (TREE_CODE (_p2))
   11811              :                         {
   11812            6 :                         case PLUS_EXPR:
   11813            6 :                           {
   11814            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11815            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11816            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11817              :                               {
   11818            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11819              :                                   {
   11820            6 :                                     {
   11821            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11822            6 :                                       const enum tree_code op = PLUS_EXPR;
   11823            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11824              : )
   11825              :                                         {
   11826            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1902;
   11827            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   11828            6 :                                           {
   11829            6 :                                             tree _r;
   11830            6 :                                             _r = captures[2];
   11831            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   11832            6 :                                             return _r;
   11833              :                                           }
   11834            0 : next_after_fail1902:;
   11835              :                                         }
   11836              :                                     }
   11837              :                                   }
   11838              :                               }
   11839              :                             break;
   11840              :                           }
   11841            6 :                         case MULT_EXPR:
   11842            6 :                           {
   11843            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11844            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11845            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11846              :                               {
   11847            6 :                                 if (uniform_integer_cst_p (_q81))
   11848              :                                   {
   11849            6 :                                     {
   11850            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11851            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11852              : )
   11853              :                                         {
   11854            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   11855            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   11856            6 :                                           {
   11857            6 :                                             tree _r;
   11858            6 :                                             _r = captures[2];
   11859            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11860            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11861            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11862            6 :                                             return _r;
   11863              :                                           }
   11864            0 : next_after_fail1903:;
   11865              :                                         }
   11866              :                                     }
   11867              :                                   }
   11868              :                               }
   11869            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11870              :                               {
   11871            0 :                                 if (uniform_integer_cst_p (_q81))
   11872              :                                   {
   11873            0 :                                     {
   11874            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11875            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11876              : )
   11877              :                                         {
   11878            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1904;
   11879            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   11880            0 :                                           {
   11881            0 :                                             tree _r;
   11882            0 :                                             _r = captures[2];
   11883            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11884            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11885            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11886            0 :                                             return _r;
   11887              :                                           }
   11888            0 : next_after_fail1904:;
   11889              :                                         }
   11890              :                                     }
   11891              :                                   }
   11892              :                               }
   11893              :                             break;
   11894              :                           }
   11895              :                         default:;
   11896              :                         }
   11897              :                     }
   11898              :                 }
   11899           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11900              :                 {
   11901            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11902              :                     {
   11903            0 :                       switch (TREE_CODE (_p2))
   11904              :                         {
   11905            0 :                         case PLUS_EXPR:
   11906            0 :                           {
   11907            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11908            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11909            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11910              :                               {
   11911            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11912              :                                   {
   11913            0 :                                     {
   11914            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11915            0 :                                       const enum tree_code op = PLUS_EXPR;
   11916            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11917              : )
   11918              :                                         {
   11919            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1905;
   11920            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   11921            0 :                                           {
   11922            0 :                                             tree _r;
   11923            0 :                                             _r = captures[2];
   11924            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   11925            0 :                                             return _r;
   11926              :                                           }
   11927            0 : next_after_fail1905:;
   11928              :                                         }
   11929              :                                     }
   11930              :                                   }
   11931              :                               }
   11932              :                             break;
   11933              :                           }
   11934            0 :                         case MULT_EXPR:
   11935            0 :                           {
   11936            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11937            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11938            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11939              :                               {
   11940            0 :                                 if (uniform_integer_cst_p (_q81))
   11941              :                                   {
   11942            0 :                                     {
   11943            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11944            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11945              : )
   11946              :                                         {
   11947            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1906;
   11948            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   11949            0 :                                           {
   11950            0 :                                             tree _r;
   11951            0 :                                             _r = captures[2];
   11952            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11953            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11954            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11955            0 :                                             return _r;
   11956              :                                           }
   11957            0 : next_after_fail1906:;
   11958              :                                         }
   11959              :                                     }
   11960              :                                   }
   11961              :                               }
   11962            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11963              :                               {
   11964            0 :                                 if (uniform_integer_cst_p (_q81))
   11965              :                                   {
   11966            0 :                                     {
   11967            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11968            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11969              : )
   11970              :                                         {
   11971            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1907;
   11972            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   11973            0 :                                           {
   11974            0 :                                             tree _r;
   11975            0 :                                             _r = captures[2];
   11976            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11977            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11978            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   11979            0 :                                             return _r;
   11980              :                                           }
   11981            0 : next_after_fail1907:;
   11982              :                                         }
   11983              :                                     }
   11984              :                                   }
   11985              :                               }
   11986              :                             break;
   11987              :                           }
   11988              :                         default:;
   11989              :                         }
   11990              :                     }
   11991              :                 }
   11992              :               break;
   11993              :             }
   11994              :           default:;
   11995              :           }
   11996              :         break;
   11997              :       }
   11998       387918 :     default:;
   11999              :     }
   12000       387918 :   switch (TREE_CODE (_p1))
   12001              :     {
   12002            6 :     case VEC_COND_EXPR:
   12003            6 :       {
   12004            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12005            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12006            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12007            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12008              :           {
   12009            0 :             {
   12010            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   12011            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   12012            0 :               {
   12013            0 :                 tree res_op0;
   12014            0 :                 res_op0 = captures[0];
   12015            0 :                 tree res_op1;
   12016            0 :                 res_op1 = captures[1];
   12017            0 :                 tree res_op2;
   12018            0 :                 res_op2 = captures[3];
   12019            0 :                 tree _r;
   12020            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12021            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12022            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12023            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   12024            0 :                 return _r;
   12025              :               }
   12026            0 : next_after_fail1908:;
   12027              :             }
   12028              :           }
   12029              :         break;
   12030              :       }
   12031       387918 :     default:;
   12032              :     }
   12033       387918 :   switch (TREE_CODE (_p2))
   12034              :     {
   12035            3 :     case VEC_COND_EXPR:
   12036            3 :       {
   12037            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   12038            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   12039            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   12040            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12041              :           {
   12042            0 :             {
   12043            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   12044            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   12045            0 :               {
   12046            0 :                 tree res_op0;
   12047            0 :                 res_op0 = captures[0];
   12048            0 :                 tree res_op1;
   12049            0 :                 res_op1 = captures[1];
   12050            0 :                 tree res_op2;
   12051            0 :                 res_op2 = captures[3];
   12052            0 :                 tree _r;
   12053            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12054            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12055            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12056            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   12057            0 :                 return _r;
   12058              :               }
   12059            0 : next_after_fail1909:;
   12060              :             }
   12061              :           }
   12062            3 :         {
   12063            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   12064            3 :           if (inverse_conditions_p (captures[0], captures[2])
   12065              : )
   12066              :             {
   12067            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   12068            0 :               {
   12069            0 :                 tree res_op0;
   12070            0 :                 res_op0 = captures[0];
   12071            0 :                 tree res_op1;
   12072            0 :                 res_op1 = captures[1];
   12073            0 :                 tree res_op2;
   12074            0 :                 res_op2 = captures[3];
   12075            0 :                 tree _r;
   12076            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12077            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12078            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12079            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   12080            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   12081            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   12082            0 :                 return _r;
   12083              :               }
   12084            0 : next_after_fail1910:;
   12085              :             }
   12086              :         }
   12087            3 :         break;
   12088              :       }
   12089       387918 :     default:;
   12090              :     }
   12091       387918 :   switch (TREE_CODE (_p1))
   12092              :     {
   12093            6 :     case VEC_COND_EXPR:
   12094            6 :       {
   12095            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12096            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12097            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12098            6 :         {
   12099            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   12100            6 :           if (inverse_conditions_p (captures[0], captures[1])
   12101              : )
   12102              :             {
   12103            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   12104            0 :               {
   12105            0 :                 tree res_op0;
   12106            0 :                 res_op0 = captures[0];
   12107            0 :                 tree res_op1;
   12108            0 :                 res_op1 = captures[3];
   12109            0 :                 tree res_op2;
   12110            0 :                 res_op2 = captures[4];
   12111            0 :                 tree _r;
   12112            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12113            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   12114            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12115            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12116            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12117            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   12118            0 :                 return _r;
   12119              :               }
   12120            0 : next_after_fail1911:;
   12121              :             }
   12122              :         }
   12123            6 :         break;
   12124              :       }
   12125       387918 :     default:;
   12126              :     }
   12127       387918 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   12128              :     {
   12129           36 :       {
   12130           36 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12131           36 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   12132           36 :         {
   12133           36 :           tree _r;
   12134           36 :           _r = captures[1];
   12135           36 :           if (TREE_SIDE_EFFECTS (captures[0]))
   12136            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12137           36 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   12138           36 :           return _r;
   12139              :         }
   12140            0 : next_after_fail1912:;
   12141              :       }
   12142              :     }
   12143       387882 :   switch (TREE_CODE (_p0))
   12144              :     {
   12145        67150 :     case EQ_EXPR:
   12146        67150 :       {
   12147        67150 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12148        67150 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12149        67150 :         if (zerop (_q21))
   12150              :           {
   12151         1103 :             switch (TREE_CODE (_p2))
   12152              :               {
   12153            0 :               case NEGATE_EXPR:
   12154            0 :                 {
   12155            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12156            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12157              :                     {
   12158            0 :                       {
   12159            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12160            0 :                         const enum tree_code cmp = EQ_EXPR;
   12161            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12162            0 :  && bitwise_equal_p (captures[0], captures[1])
   12163              : )
   12164              :                           {
   12165            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   12166            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1913;
   12167            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   12168            0 :                             {
   12169            0 :                               tree _r;
   12170            0 :                               _r = captures[2];
   12171            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12172            0 :                               return _r;
   12173              :                             }
   12174            0 : next_after_fail1913:;
   12175              :                           }
   12176              :                       }
   12177              :                     }
   12178              :                   break;
   12179              :                 }
   12180         1103 :               default:;
   12181              :               }
   12182         1103 :             if (zerop (_p1))
   12183              :               {
   12184           18 :                 switch (TREE_CODE (_p2))
   12185              :                   {
   12186            0 :                   case NEGATE_EXPR:
   12187            0 :                     {
   12188            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12189            0 :                       {
   12190            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12191            0 :                         const enum tree_code cmp = EQ_EXPR;
   12192            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12193            0 :  && bitwise_equal_p (captures[0], captures[2])
   12194              : )
   12195              :                           {
   12196            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   12197            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1914;
   12198            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1914;
   12199            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   12200            0 :                             {
   12201            0 :                               tree _r;
   12202            0 :                               _r = captures[1];
   12203            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12204            0 :                               return _r;
   12205              :                             }
   12206            0 : next_after_fail1914:;
   12207              :                           }
   12208              :                       }
   12209            0 :                       break;
   12210              :                     }
   12211              :                   default:;
   12212              :                   }
   12213              :               }
   12214              :           }
   12215        67150 :         switch (TREE_CODE (_q20))
   12216              :           {
   12217            0 :           case MINUS_EXPR:
   12218            0 :             {
   12219            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12220            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12221            0 :               if (zerop (_q21))
   12222              :                 {
   12223            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12224              :                     {
   12225            0 :                       switch (TREE_CODE (_p2))
   12226              :                         {
   12227            0 :                         case MINUS_EXPR:
   12228            0 :                           {
   12229            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12230            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12231            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12232              :                               {
   12233            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12234              :                                   {
   12235            0 :                                     {
   12236            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12237            0 :                                       const enum tree_code cmp = EQ_EXPR;
   12238            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12239              : )
   12240              :                                         {
   12241            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   12242            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1915;
   12243            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   12244            0 :                                           {
   12245            0 :                                             tree _r;
   12246            0 :                                             _r = captures[3];
   12247            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12248            0 :                                             return _r;
   12249              :                                           }
   12250            0 : next_after_fail1915:;
   12251              :                                         }
   12252              :                                     }
   12253              :                                   }
   12254              :                               }
   12255              :                             break;
   12256              :                           }
   12257              :                         default:;
   12258              :                         }
   12259              :                     }
   12260              :                 }
   12261            0 :               if (integer_zerop (_q21))
   12262              :                 {
   12263            0 :                   if (integer_zerop (_p1))
   12264              :                     {
   12265            0 :                       switch (TREE_CODE (_p2))
   12266              :                         {
   12267            0 :                         case MINUS_EXPR:
   12268            0 :                           {
   12269            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12270            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12271            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12272              :                               {
   12273            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12274              :                                   {
   12275            0 :                                     {
   12276            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12277            0 :                                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   12278            0 :                                       if (res) return res;
   12279              :                                     }
   12280              :                                   }
   12281              :                               }
   12282              :                             break;
   12283              :                           }
   12284              :                         default:;
   12285              :                         }
   12286              :                     }
   12287              :                 }
   12288              :               break;
   12289              :             }
   12290              :           default:;
   12291              :           }
   12292              :         break;
   12293              :       }
   12294            0 :     case UNEQ_EXPR:
   12295            0 :       {
   12296            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12297            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12298            0 :         if (zerop (_q21))
   12299              :           {
   12300            0 :             switch (TREE_CODE (_p2))
   12301              :               {
   12302            0 :               case NEGATE_EXPR:
   12303            0 :                 {
   12304            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12305            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12306              :                     {
   12307            0 :                       {
   12308            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12309            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12310            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12311            0 :  && bitwise_equal_p (captures[0], captures[1])
   12312              : )
   12313              :                           {
   12314            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   12315            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1916;
   12316            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   12317            0 :                             {
   12318            0 :                               tree _r;
   12319            0 :                               _r = captures[2];
   12320            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12321            0 :                               return _r;
   12322              :                             }
   12323            0 : next_after_fail1916:;
   12324              :                           }
   12325              :                       }
   12326              :                     }
   12327              :                   break;
   12328              :                 }
   12329            0 :               default:;
   12330              :               }
   12331            0 :             if (zerop (_p1))
   12332              :               {
   12333            0 :                 switch (TREE_CODE (_p2))
   12334              :                   {
   12335            0 :                   case NEGATE_EXPR:
   12336            0 :                     {
   12337            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12338            0 :                       {
   12339            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12340            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12341            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12342            0 :  && bitwise_equal_p (captures[0], captures[2])
   12343              : )
   12344              :                           {
   12345            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   12346            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   12347            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1917;
   12348            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   12349            0 :                             {
   12350            0 :                               tree _r;
   12351            0 :                               _r = captures[1];
   12352            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12353            0 :                               return _r;
   12354              :                             }
   12355            0 : next_after_fail1917:;
   12356              :                           }
   12357              :                       }
   12358            0 :                       break;
   12359              :                     }
   12360              :                   default:;
   12361              :                   }
   12362              :               }
   12363              :           }
   12364            0 :         switch (TREE_CODE (_q20))
   12365              :           {
   12366            0 :           case MINUS_EXPR:
   12367            0 :             {
   12368            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12369            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12370            0 :               if (zerop (_q21))
   12371              :                 {
   12372            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12373              :                     {
   12374            0 :                       switch (TREE_CODE (_p2))
   12375              :                         {
   12376            0 :                         case MINUS_EXPR:
   12377            0 :                           {
   12378            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12379            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12380            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12381              :                               {
   12382            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12383              :                                   {
   12384            0 :                                     {
   12385            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12386            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   12387            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12388              : )
   12389              :                                         {
   12390            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   12391            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1918;
   12392            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   12393            0 :                                           {
   12394            0 :                                             tree _r;
   12395            0 :                                             _r = captures[3];
   12396            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
   12397            0 :                                             return _r;
   12398              :                                           }
   12399            0 : next_after_fail1918:;
   12400              :                                         }
   12401              :                                     }
   12402              :                                   }
   12403              :                               }
   12404              :                             break;
   12405              :                           }
   12406              :                         default:;
   12407              :                         }
   12408              :                     }
   12409              :                 }
   12410            0 :               if (integer_zerop (_q21))
   12411              :                 {
   12412            0 :                   if (integer_zerop (_p1))
   12413              :                     {
   12414            0 :                       switch (TREE_CODE (_p2))
   12415              :                         {
   12416            0 :                         case MINUS_EXPR:
   12417            0 :                           {
   12418            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12419            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12420            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12421              :                               {
   12422            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12423              :                                   {
   12424            0 :                                     {
   12425            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12426            0 :                                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   12427            0 :                                       if (res) return res;
   12428              :                                     }
   12429              :                                   }
   12430              :                               }
   12431              :                             break;
   12432              :                           }
   12433              :                         default:;
   12434              :                         }
   12435              :                     }
   12436              :                 }
   12437              :               break;
   12438              :             }
   12439              :           default:;
   12440              :           }
   12441              :         break;
   12442              :       }
   12443         1303 :     case NE_EXPR:
   12444         1303 :       {
   12445         1303 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12446         1303 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12447         1303 :         if (zerop (_q21))
   12448              :           {
   12449          336 :             switch (TREE_CODE (_p2))
   12450              :               {
   12451            0 :               case NEGATE_EXPR:
   12452            0 :                 {
   12453            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12454            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12455              :                     {
   12456            0 :                       {
   12457            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12458            0 :                         const enum tree_code cmp = NE_EXPR;
   12459            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12460            0 :  && bitwise_equal_p (captures[0], captures[1])
   12461              : )
   12462              :                           {
   12463            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   12464            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   12465            0 :                             {
   12466            0 :                               tree _r;
   12467            0 :                               _r = captures[1];
   12468            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12469            0 :                               return _r;
   12470              :                             }
   12471            0 : next_after_fail1919:;
   12472              :                           }
   12473              :                       }
   12474              :                     }
   12475              :                   break;
   12476              :                 }
   12477          336 :               default:;
   12478              :               }
   12479          336 :           if (integer_zerop (_p2))
   12480              :             {
   12481          190 :               {
   12482          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12483          190 :                 const enum tree_code cmp = NE_EXPR;
   12484          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   12485          190 :  && bitwise_equal_p (captures[0], captures[1])
   12486              : )
   12487              :                   {
   12488            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   12489            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1920;
   12490            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   12491            0 :                     {
   12492            0 :                       tree _r;
   12493            0 :                       _r = captures[1];
   12494            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12495            0 :                       return _r;
   12496              :                     }
   12497          190 : next_after_fail1920:;
   12498              :                   }
   12499              :               }
   12500              :             }
   12501              :           }
   12502         1303 :         switch (TREE_CODE (_q20))
   12503              :           {
   12504           40 :           case MINUS_EXPR:
   12505           40 :             {
   12506           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12507           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12508           40 :               if (zerop (_q21))
   12509              :                 {
   12510            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12511              :                     {
   12512            0 :                       switch (TREE_CODE (_p2))
   12513              :                         {
   12514            0 :                         case MINUS_EXPR:
   12515            0 :                           {
   12516            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12517            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12518            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12519              :                               {
   12520            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12521              :                                   {
   12522            0 :                                     {
   12523            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12524            0 :                                       const enum tree_code cmp = NE_EXPR;
   12525            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12526              : )
   12527              :                                         {
   12528            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   12529            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1921;
   12530            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   12531            0 :                                           {
   12532            0 :                                             tree _r;
   12533            0 :                                             _r = captures[0];
   12534            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12535            0 :                                             return _r;
   12536              :                                           }
   12537            0 : next_after_fail1921:;
   12538              :                                         }
   12539              :                                     }
   12540              :                                   }
   12541              :                               }
   12542              :                             break;
   12543              :                           }
   12544              :                         default:;
   12545              :                         }
   12546              :                     }
   12547              :                 }
   12548           40 :               if (integer_zerop (_q21))
   12549              :                 {
   12550            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12551              :                     {
   12552            0 :                       if (integer_zerop (_p2))
   12553              :                         {
   12554            0 :                           {
   12555            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12556            0 :                             tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   12557            0 :                             if (res) return res;
   12558              :                           }
   12559              :                         }
   12560              :                     }
   12561              :                 }
   12562              :               break;
   12563              :             }
   12564              :           default:;
   12565              :           }
   12566              :         break;
   12567              :       }
   12568            0 :     case LTGT_EXPR:
   12569            0 :       {
   12570            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12571            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12572            0 :         if (zerop (_q21))
   12573              :           {
   12574            0 :             switch (TREE_CODE (_p2))
   12575              :               {
   12576            0 :               case NEGATE_EXPR:
   12577            0 :                 {
   12578            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12579            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12580              :                     {
   12581            0 :                       {
   12582            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12583            0 :                         const enum tree_code cmp = LTGT_EXPR;
   12584            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12585            0 :  && bitwise_equal_p (captures[0], captures[1])
   12586              : )
   12587              :                           {
   12588            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   12589            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   12590            0 :                             {
   12591            0 :                               tree _r;
   12592            0 :                               _r = captures[1];
   12593            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12594            0 :                               return _r;
   12595              :                             }
   12596            0 : next_after_fail1922:;
   12597              :                           }
   12598              :                       }
   12599              :                     }
   12600              :                   break;
   12601              :                 }
   12602            0 :               default:;
   12603              :               }
   12604            0 :           if (integer_zerop (_p2))
   12605              :             {
   12606            0 :               {
   12607            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12608            0 :                 const enum tree_code cmp = LTGT_EXPR;
   12609            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   12610            0 :  && bitwise_equal_p (captures[0], captures[1])
   12611              : )
   12612              :                   {
   12613            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   12614            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1923;
   12615            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   12616            0 :                     {
   12617            0 :                       tree _r;
   12618            0 :                       _r = captures[1];
   12619            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12620            0 :                       return _r;
   12621              :                     }
   12622            0 : next_after_fail1923:;
   12623              :                   }
   12624              :               }
   12625              :             }
   12626              :           }
   12627            0 :         switch (TREE_CODE (_q20))
   12628              :           {
   12629            0 :           case MINUS_EXPR:
   12630            0 :             {
   12631            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12632            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12633            0 :               if (zerop (_q21))
   12634              :                 {
   12635            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12636              :                     {
   12637            0 :                       switch (TREE_CODE (_p2))
   12638              :                         {
   12639            0 :                         case MINUS_EXPR:
   12640            0 :                           {
   12641            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12642            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12643            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12644              :                               {
   12645            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12646              :                                   {
   12647            0 :                                     {
   12648            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12649            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   12650            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12651              : )
   12652              :                                         {
   12653            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   12654            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1924;
   12655            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   12656            0 :                                           {
   12657            0 :                                             tree _r;
   12658            0 :                                             _r = captures[0];
   12659            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12660            0 :                                             return _r;
   12661              :                                           }
   12662            0 : next_after_fail1924:;
   12663              :                                         }
   12664              :                                     }
   12665              :                                   }
   12666              :                               }
   12667              :                             break;
   12668              :                           }
   12669              :                         default:;
   12670              :                         }
   12671              :                     }
   12672              :                 }
   12673            0 :               if (integer_zerop (_q21))
   12674              :                 {
   12675            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12676              :                     {
   12677            0 :                       if (integer_zerop (_p2))
   12678              :                         {
   12679            0 :                           {
   12680            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12681            0 :                             tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   12682            0 :                             if (res) return res;
   12683              :                           }
   12684              :                         }
   12685              :                     }
   12686              :                 }
   12687              :               break;
   12688              :             }
   12689              :           default:;
   12690              :           }
   12691              :         break;
   12692              :       }
   12693         1198 :     case GE_EXPR:
   12694         1198 :       {
   12695         1198 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12696         1198 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12697         1198 :         switch (TREE_CODE (_q20))
   12698              :           {
   12699            3 :           CASE_CONVERT:
   12700            3 :             {
   12701            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12702            3 :               if (zerop (_q21))
   12703              :                 {
   12704            0 :                   switch (TREE_CODE (_p2))
   12705              :                     {
   12706            0 :                     case NEGATE_EXPR:
   12707            0 :                       {
   12708            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12709            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12710              :                           {
   12711            0 :                             {
   12712            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12713            0 :                               const enum tree_code cmp = GE_EXPR;
   12714            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12715            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12716            0 :  && element_precision (captures[1])
   12717            0 :  <= element_precision (captures[0])
   12718            0 :  && bitwise_equal_p (captures[1], captures[2])
   12719            0 :  && (!VECTOR_TYPE_P (type)
   12720            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12721              : )
   12722              :                                 {
   12723            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12724              : )
   12725              :                                     {
   12726            0 :                                       {
   12727            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12728            0 :                                           if (types_match (captures[0], stype)
   12729              : )
   12730              :                                             {
   12731            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   12732            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   12733            0 :                                               {
   12734            0 :                                                 tree res_op0;
   12735            0 :                                                 res_op0 = captures[0];
   12736            0 :                                                 tree _r;
   12737            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12738            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12739            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12740            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12741            0 :                                                 return _r;
   12742              :                                               }
   12743            0 : next_after_fail1925:;
   12744              :                                             }
   12745              :                                           else
   12746              :                                             {
   12747            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   12748            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   12749            0 :                                               {
   12750            0 :                                                 tree res_op0;
   12751            0 :                                                 {
   12752            0 :                                                   tree _o1[1], _r1;
   12753            0 :                                                   _o1[0] = captures[2];
   12754            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12755              :                                                     {
   12756            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12757              :                                                     }
   12758              :                                                   else
   12759              :                                                     _r1 = _o1[0];
   12760            0 :                                                   res_op0 = _r1;
   12761              :                                                 }
   12762            0 :                                                 tree _r;
   12763            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12764            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   12765            0 :                                                 return _r;
   12766              :                                               }
   12767            0 : next_after_fail1926:;
   12768              :                                             }
   12769              :                                       }
   12770              :                                     }
   12771              :                                   else
   12772              :                                     {
   12773            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1927;
   12774            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   12775            0 :                                       {
   12776            0 :                                         tree res_op0;
   12777            0 :                                         res_op0 = captures[2];
   12778            0 :                                         tree _r;
   12779            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12780            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   12781            0 :                                         return _r;
   12782              :                                       }
   12783            0 : next_after_fail1927:;
   12784              :                                     }
   12785              :                                 }
   12786              :                             }
   12787              :                           }
   12788              :                         break;
   12789              :                       }
   12790              :                     default:;
   12791              :                     }
   12792              :                 }
   12793              :               break;
   12794              :             }
   12795         1198 :           default:;
   12796              :           }
   12797         1198 :         if (zerop (_q21))
   12798              :           {
   12799          350 :             switch (TREE_CODE (_p2))
   12800              :               {
   12801            3 :               case NEGATE_EXPR:
   12802            3 :                 {
   12803            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12804            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12805              :                     {
   12806            3 :                       {
   12807            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12808            3 :                         const enum tree_code cmp = GE_EXPR;
   12809            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12810            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12811            6 :  && element_precision (captures[1])
   12812            3 :  <= element_precision (captures[0])
   12813            3 :  && bitwise_equal_p (captures[1], captures[2])
   12814            6 :  && (!VECTOR_TYPE_P (type)
   12815            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12816              : )
   12817              :                           {
   12818            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12819              : )
   12820              :                               {
   12821            0 :                                 {
   12822            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12823            0 :                                     if (types_match (captures[0], stype)
   12824              : )
   12825              :                                       {
   12826            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1928;
   12827            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   12828            0 :                                         {
   12829            0 :                                           tree res_op0;
   12830            0 :                                           res_op0 = captures[0];
   12831            0 :                                           tree _r;
   12832            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12833            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12834            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12835            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12836            0 :                                           return _r;
   12837              :                                         }
   12838            0 : next_after_fail1928:;
   12839              :                                       }
   12840              :                                     else
   12841              :                                       {
   12842            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1929;
   12843            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   12844            0 :                                         {
   12845            0 :                                           tree res_op0;
   12846            0 :                                           {
   12847            0 :                                             tree _o1[1], _r1;
   12848            0 :                                             _o1[0] = captures[2];
   12849            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12850              :                                               {
   12851            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12852              :                                               }
   12853              :                                             else
   12854              :                                               _r1 = _o1[0];
   12855            0 :                                             res_op0 = _r1;
   12856              :                                           }
   12857            0 :                                           tree _r;
   12858            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12859            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   12860            0 :                                           return _r;
   12861              :                                         }
   12862            0 : next_after_fail1929:;
   12863              :                                       }
   12864              :                                 }
   12865              :                               }
   12866              :                             else
   12867              :                               {
   12868            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1930;
   12869            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   12870            3 :                                 {
   12871            3 :                                   tree res_op0;
   12872            3 :                                   res_op0 = captures[2];
   12873            3 :                                   tree _r;
   12874            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12875            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   12876            3 :                                   return _r;
   12877              :                                 }
   12878            0 : next_after_fail1930:;
   12879              :                               }
   12880              :                           }
   12881              :                       }
   12882              :                     }
   12883              :                   break;
   12884              :                 }
   12885              :               default:;
   12886              :               }
   12887              :           }
   12888         1195 :         switch (TREE_CODE (_q20))
   12889              :           {
   12890            0 :           case MINUS_EXPR:
   12891            0 :             {
   12892            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12893            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12894            0 :               if (zerop (_q21))
   12895              :                 {
   12896            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12897              :                     {
   12898            0 :                       switch (TREE_CODE (_p2))
   12899              :                         {
   12900            0 :                         case MINUS_EXPR:
   12901            0 :                           {
   12902            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12903            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12904            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12905              :                               {
   12906            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12907              :                                   {
   12908            0 :                                     {
   12909            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12910            0 :                                       const enum tree_code cmp = GE_EXPR;
   12911            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12912            0 :  && !TYPE_UNSIGNED (type)
   12913            0 :  && (!VECTOR_TYPE_P (type)
   12914            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12915              : )
   12916              :                                         {
   12917            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1931;
   12918            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1931;
   12919            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   12920            0 :                                           {
   12921            0 :                                             tree res_op0;
   12922            0 :                                             res_op0 = captures[0];
   12923            0 :                                             tree _r;
   12924            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12925            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   12926            0 :                                             return _r;
   12927              :                                           }
   12928            0 : next_after_fail1931:;
   12929              :                                         }
   12930              :                                     }
   12931              :                                   }
   12932              :                               }
   12933              :                             break;
   12934              :                           }
   12935              :                         default:;
   12936              :                         }
   12937              :                     }
   12938              :                 }
   12939              :               break;
   12940              :             }
   12941              :           default:;
   12942              :           }
   12943              :         break;
   12944              :       }
   12945        66453 :     case GT_EXPR:
   12946        66453 :       {
   12947        66453 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12948        66453 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12949        66453 :         switch (TREE_CODE (_q20))
   12950              :           {
   12951           13 :           CASE_CONVERT:
   12952           13 :             {
   12953           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12954           13 :               if (zerop (_q21))
   12955              :                 {
   12956            1 :                   switch (TREE_CODE (_p2))
   12957              :                     {
   12958            0 :                     case NEGATE_EXPR:
   12959            0 :                       {
   12960            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12961            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12962              :                           {
   12963            0 :                             {
   12964            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12965            0 :                               const enum tree_code cmp = GT_EXPR;
   12966            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12967            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12968            0 :  && element_precision (captures[1])
   12969            0 :  <= element_precision (captures[0])
   12970            0 :  && bitwise_equal_p (captures[1], captures[2])
   12971            0 :  && (!VECTOR_TYPE_P (type)
   12972            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12973              : )
   12974              :                                 {
   12975            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12976              : )
   12977              :                                     {
   12978            0 :                                       {
   12979            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12980            0 :                                           if (types_match (captures[0], stype)
   12981              : )
   12982              :                                             {
   12983            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1932;
   12984            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   12985            0 :                                               {
   12986            0 :                                                 tree res_op0;
   12987            0 :                                                 res_op0 = captures[0];
   12988            0 :                                                 tree _r;
   12989            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12990            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12991            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12992            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12993            0 :                                                 return _r;
   12994              :                                               }
   12995            0 : next_after_fail1932:;
   12996              :                                             }
   12997              :                                           else
   12998              :                                             {
   12999            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1933;
   13000            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   13001            0 :                                               {
   13002            0 :                                                 tree res_op0;
   13003            0 :                                                 {
   13004            0 :                                                   tree _o1[1], _r1;
   13005            0 :                                                   _o1[0] = captures[2];
   13006            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   13007              :                                                     {
   13008            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13009              :                                                     }
   13010              :                                                   else
   13011              :                                                     _r1 = _o1[0];
   13012            0 :                                                   res_op0 = _r1;
   13013              :                                                 }
   13014            0 :                                                 tree _r;
   13015            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13016            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13017            0 :                                                 return _r;
   13018              :                                               }
   13019            0 : next_after_fail1933:;
   13020              :                                             }
   13021              :                                       }
   13022              :                                     }
   13023              :                                   else
   13024              :                                     {
   13025            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1934;
   13026            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   13027            0 :                                       {
   13028            0 :                                         tree res_op0;
   13029            0 :                                         res_op0 = captures[2];
   13030            0 :                                         tree _r;
   13031            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13032            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13033            0 :                                         return _r;
   13034              :                                       }
   13035            0 : next_after_fail1934:;
   13036              :                                     }
   13037              :                                 }
   13038              :                             }
   13039              :                           }
   13040              :                         break;
   13041              :                       }
   13042              :                     default:;
   13043              :                     }
   13044              :                 }
   13045              :               break;
   13046              :             }
   13047        66453 :           default:;
   13048              :           }
   13049        66453 :         if (zerop (_q21))
   13050              :           {
   13051           84 :             switch (TREE_CODE (_p2))
   13052              :               {
   13053            6 :               case NEGATE_EXPR:
   13054            6 :                 {
   13055            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13056            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13057              :                     {
   13058            6 :                       {
   13059            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13060            6 :                         const enum tree_code cmp = GT_EXPR;
   13061            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13062            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13063           12 :  && element_precision (captures[1])
   13064            6 :  <= element_precision (captures[0])
   13065            6 :  && bitwise_equal_p (captures[1], captures[2])
   13066           12 :  && (!VECTOR_TYPE_P (type)
   13067            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13068              : )
   13069              :                           {
   13070            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13071              : )
   13072              :                               {
   13073            0 :                                 {
   13074            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13075            0 :                                     if (types_match (captures[0], stype)
   13076              : )
   13077              :                                       {
   13078            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1935;
   13079            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   13080            0 :                                         {
   13081            0 :                                           tree res_op0;
   13082            0 :                                           res_op0 = captures[0];
   13083            0 :                                           tree _r;
   13084            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13085            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13086            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13087            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13088            0 :                                           return _r;
   13089              :                                         }
   13090            0 : next_after_fail1935:;
   13091              :                                       }
   13092              :                                     else
   13093              :                                       {
   13094            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1936;
   13095            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   13096            0 :                                         {
   13097            0 :                                           tree res_op0;
   13098            0 :                                           {
   13099            0 :                                             tree _o1[1], _r1;
   13100            0 :                                             _o1[0] = captures[2];
   13101            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13102              :                                               {
   13103            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13104              :                                               }
   13105              :                                             else
   13106              :                                               _r1 = _o1[0];
   13107            0 :                                             res_op0 = _r1;
   13108              :                                           }
   13109            0 :                                           tree _r;
   13110            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13111            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13112            0 :                                           return _r;
   13113              :                                         }
   13114            0 : next_after_fail1936:;
   13115              :                                       }
   13116              :                                 }
   13117              :                               }
   13118              :                             else
   13119              :                               {
   13120            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1937;
   13121            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   13122            6 :                                 {
   13123            6 :                                   tree res_op0;
   13124            6 :                                   res_op0 = captures[2];
   13125            6 :                                   tree _r;
   13126            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13127            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13128            6 :                                   return _r;
   13129              :                                 }
   13130            0 : next_after_fail1937:;
   13131              :                               }
   13132              :                           }
   13133              :                       }
   13134              :                     }
   13135              :                   break;
   13136              :                 }
   13137              :               default:;
   13138              :               }
   13139              :           }
   13140        66447 :         switch (TREE_CODE (_q20))
   13141              :           {
   13142            0 :           case MINUS_EXPR:
   13143            0 :             {
   13144            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13145            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13146            0 :               if (zerop (_q21))
   13147              :                 {
   13148            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13149              :                     {
   13150            0 :                       switch (TREE_CODE (_p2))
   13151              :                         {
   13152            0 :                         case MINUS_EXPR:
   13153            0 :                           {
   13154            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13155            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13156            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13157              :                               {
   13158            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13159              :                                   {
   13160            0 :                                     {
   13161            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13162            0 :                                       const enum tree_code cmp = GT_EXPR;
   13163            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13164            0 :  && !TYPE_UNSIGNED (type)
   13165            0 :  && (!VECTOR_TYPE_P (type)
   13166            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13167              : )
   13168              :                                         {
   13169            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1938;
   13170            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1938;
   13171            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   13172            0 :                                           {
   13173            0 :                                             tree res_op0;
   13174            0 :                                             res_op0 = captures[0];
   13175            0 :                                             tree _r;
   13176            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13177            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13178            0 :                                             return _r;
   13179              :                                           }
   13180            0 : next_after_fail1938:;
   13181              :                                         }
   13182              :                                     }
   13183              :                                   }
   13184              :                               }
   13185              :                             break;
   13186              :                           }
   13187              :                         default:;
   13188              :                         }
   13189              :                     }
   13190              :                 }
   13191              :               break;
   13192              :             }
   13193              :           default:;
   13194              :           }
   13195              :         break;
   13196              :       }
   13197          971 :     case LE_EXPR:
   13198          971 :       {
   13199          971 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13200          971 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13201          971 :         switch (TREE_CODE (_q20))
   13202              :           {
   13203           62 :           CASE_CONVERT:
   13204           62 :             {
   13205           62 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13206           62 :               if (zerop (_q21))
   13207              :                 {
   13208            0 :                   switch (TREE_CODE (_p2))
   13209              :                     {
   13210            0 :                     case NEGATE_EXPR:
   13211            0 :                       {
   13212            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13213            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13214              :                           {
   13215            0 :                             {
   13216            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13217            0 :                               const enum tree_code cmp = LE_EXPR;
   13218            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13219            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13220            0 :  && element_precision (captures[1])
   13221            0 :  <= element_precision (captures[0])
   13222            0 :  && bitwise_equal_p (captures[1], captures[2])
   13223            0 :  && (!VECTOR_TYPE_P (type)
   13224            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13225            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13226              : )
   13227              :                                 {
   13228            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13229            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13230            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13231              : )
   13232              :                                     {
   13233            0 :                                       {
   13234            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13235            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13236            0 :                                           if (types_match (captures[0], stype)
   13237              : )
   13238              :                                             {
   13239            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1939;
   13240            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   13241            0 :                                               {
   13242            0 :                                                 tree res_op0;
   13243            0 :                                                 {
   13244            0 :                                                   tree _o1[1], _r1;
   13245            0 :                                                   {
   13246            0 :                                                     tree _o2[1], _r2;
   13247            0 :                                                     _o2[0] = captures[0];
   13248            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13249            0 :                                                     _o1[0] = _r2;
   13250              :                                                   }
   13251            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13252            0 :                                                   res_op0 = _r1;
   13253              :                                                 }
   13254            0 :                                                 tree _r;
   13255            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13256            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13257            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13258            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13259            0 :                                                 return _r;
   13260              :                                               }
   13261            0 : next_after_fail1939:;
   13262              :                                             }
   13263              :                                           else
   13264              :                                             {
   13265            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1940;
   13266            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   13267            0 :                                               {
   13268            0 :                                                 tree res_op0;
   13269            0 :                                                 {
   13270            0 :                                                   tree _o1[1], _r1;
   13271            0 :                                                   {
   13272            0 :                                                     tree _o2[1], _r2;
   13273            0 :                                                     {
   13274            0 :                                                       tree _o3[1], _r3;
   13275            0 :                                                       _o3[0] = captures[2];
   13276            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13277              :                                                         {
   13278            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13279              :                                                         }
   13280              :                                                       else
   13281              :                                                         _r3 = _o3[0];
   13282            0 :                                                       _o2[0] = _r3;
   13283              :                                                     }
   13284            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13285            0 :                                                     _o1[0] = _r2;
   13286              :                                                   }
   13287            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13288            0 :                                                   res_op0 = _r1;
   13289              :                                                 }
   13290            0 :                                                 tree _r;
   13291            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13292            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13293            0 :                                                 return _r;
   13294              :                                               }
   13295            0 : next_after_fail1940:;
   13296              :                                             }
   13297              :                                       }
   13298              :                                     }
   13299              :                                   else
   13300              :                                     {
   13301            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1941;
   13302            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   13303            0 :                                       {
   13304            0 :                                         tree res_op0;
   13305            0 :                                         {
   13306            0 :                                           tree _o1[1], _r1;
   13307            0 :                                           {
   13308            0 :                                             tree _o2[1], _r2;
   13309            0 :                                             _o2[0] = captures[2];
   13310            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13311            0 :                                             _o1[0] = _r2;
   13312              :                                           }
   13313            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13314            0 :                                           res_op0 = _r1;
   13315              :                                         }
   13316            0 :                                         tree _r;
   13317            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13318            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13319            0 :                                         return _r;
   13320              :                                       }
   13321            0 : next_after_fail1941:;
   13322              :                                     }
   13323              :                                 }
   13324              :                             }
   13325              :                           }
   13326              :                         break;
   13327              :                       }
   13328              :                     default:;
   13329              :                     }
   13330              :                 }
   13331              :               break;
   13332              :             }
   13333          971 :           default:;
   13334              :           }
   13335          971 :         if (zerop (_q21))
   13336              :           {
   13337           18 :             switch (TREE_CODE (_p2))
   13338              :               {
   13339            0 :               case NEGATE_EXPR:
   13340            0 :                 {
   13341            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13342            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13343              :                     {
   13344            0 :                       {
   13345            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13346            0 :                         const enum tree_code cmp = LE_EXPR;
   13347            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13348            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13349            0 :  && element_precision (captures[1])
   13350            0 :  <= element_precision (captures[0])
   13351            0 :  && bitwise_equal_p (captures[1], captures[2])
   13352            0 :  && (!VECTOR_TYPE_P (type)
   13353            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13354            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13355              : )
   13356              :                           {
   13357            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13358            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13359            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13360              : )
   13361              :                               {
   13362            0 :                                 {
   13363            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13364            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13365            0 :                                     if (types_match (captures[0], stype)
   13366              : )
   13367              :                                       {
   13368            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1942;
   13369            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   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[0];
   13377            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _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 (TREE_SIDE_EFFECTS (captures[2]))
   13386            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13387            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13388            0 :                                           return _r;
   13389              :                                         }
   13390            0 : next_after_fail1942:;
   13391              :                                       }
   13392              :                                     else
   13393              :                                       {
   13394            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1943;
   13395            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   13396            0 :                                         {
   13397            0 :                                           tree res_op0;
   13398            0 :                                           {
   13399            0 :                                             tree _o1[1], _r1;
   13400            0 :                                             {
   13401            0 :                                               tree _o2[1], _r2;
   13402            0 :                                               {
   13403            0 :                                                 tree _o3[1], _r3;
   13404            0 :                                                 _o3[0] = captures[2];
   13405            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13406              :                                                   {
   13407            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13408              :                                                   }
   13409              :                                                 else
   13410              :                                                   _r3 = _o3[0];
   13411            0 :                                                 _o2[0] = _r3;
   13412              :                                               }
   13413            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13414            0 :                                               _o1[0] = _r2;
   13415              :                                             }
   13416            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13417            0 :                                             res_op0 = _r1;
   13418              :                                           }
   13419            0 :                                           tree _r;
   13420            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13421            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13422            0 :                                           return _r;
   13423              :                                         }
   13424            0 : next_after_fail1943:;
   13425              :                                       }
   13426              :                                 }
   13427              :                               }
   13428              :                             else
   13429              :                               {
   13430            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1944;
   13431            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   13432            0 :                                 {
   13433            0 :                                   tree res_op0;
   13434            0 :                                   {
   13435            0 :                                     tree _o1[1], _r1;
   13436            0 :                                     {
   13437            0 :                                       tree _o2[1], _r2;
   13438            0 :                                       _o2[0] = captures[2];
   13439            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13440            0 :                                       _o1[0] = _r2;
   13441              :                                     }
   13442            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13443            0 :                                     res_op0 = _r1;
   13444              :                                   }
   13445            0 :                                   tree _r;
   13446            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13447            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13448            0 :                                   return _r;
   13449              :                                 }
   13450            0 : next_after_fail1944:;
   13451              :                               }
   13452              :                           }
   13453              :                       }
   13454              :                     }
   13455              :                   break;
   13456              :                 }
   13457              :               default:;
   13458              :               }
   13459              :           }
   13460          971 :         switch (TREE_CODE (_q20))
   13461              :           {
   13462            0 :           case MINUS_EXPR:
   13463            0 :             {
   13464            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13465            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13466            0 :               if (zerop (_q21))
   13467              :                 {
   13468            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13469              :                     {
   13470            0 :                       switch (TREE_CODE (_p2))
   13471              :                         {
   13472            0 :                         case MINUS_EXPR:
   13473            0 :                           {
   13474            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13475            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13476            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13477              :                               {
   13478            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13479              :                                   {
   13480            0 :                                     {
   13481            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13482            0 :                                       const enum tree_code cmp = LE_EXPR;
   13483            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13484            0 :  && !TYPE_UNSIGNED (type)
   13485              : )
   13486              :                                         {
   13487            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13488            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13489            0 :  && (!VECTOR_TYPE_P (type)
   13490            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13491            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13492              : )
   13493              :                                             {
   13494            0 :                                               {
   13495            0 :  tree utype = unsigned_type_for (type);
   13496            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1945;
   13497            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1945;
   13498            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   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[0];
   13506            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _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", 1076, __FILE__, __LINE__, true);
   13515            0 :                                                     return _r;
   13516              :                                                   }
   13517            0 : next_after_fail1945:;
   13518              :                                               }
   13519              :                                             }
   13520              :                                           else
   13521              :                                             {
   13522            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1946;
   13523            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1946;
   13524            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   13525            0 :                                               {
   13526            0 :                                                 tree res_op0;
   13527            0 :                                                 {
   13528            0 :                                                   tree _o1[1], _r1;
   13529            0 :                                                   _o1[0] = captures[0];
   13530            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13531            0 :                                                   res_op0 = _r1;
   13532              :                                                 }
   13533            0 :                                                 tree _r;
   13534            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13535            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13536            0 :                                                 return _r;
   13537              :                                               }
   13538            0 : next_after_fail1946:;
   13539              :                                             }
   13540              :                                         }
   13541              :                                     }
   13542              :                                   }
   13543              :                               }
   13544              :                             break;
   13545              :                           }
   13546              :                         default:;
   13547              :                         }
   13548              :                     }
   13549              :                 }
   13550              :               break;
   13551              :             }
   13552              :           default:;
   13553              :           }
   13554              :         break;
   13555              :       }
   13556        20799 :     case LT_EXPR:
   13557        20799 :       {
   13558        20799 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13559        20799 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13560        20799 :         switch (TREE_CODE (_q20))
   13561              :           {
   13562          162 :           CASE_CONVERT:
   13563          162 :             {
   13564          162 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13565          162 :               if (zerop (_q21))
   13566              :                 {
   13567           83 :                   switch (TREE_CODE (_p2))
   13568              :                     {
   13569            0 :                     case NEGATE_EXPR:
   13570            0 :                       {
   13571            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13572            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13573              :                           {
   13574            0 :                             {
   13575            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13576            0 :                               const enum tree_code cmp = LT_EXPR;
   13577            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13578            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13579            0 :  && element_precision (captures[1])
   13580            0 :  <= element_precision (captures[0])
   13581            0 :  && bitwise_equal_p (captures[1], captures[2])
   13582            0 :  && (!VECTOR_TYPE_P (type)
   13583            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13584            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13585              : )
   13586              :                                 {
   13587            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13588            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13589            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13590              : )
   13591              :                                     {
   13592            0 :                                       {
   13593            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13594            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13595            0 :                                           if (types_match (captures[0], stype)
   13596              : )
   13597              :                                             {
   13598            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1947;
   13599            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
   13600            0 :                                               {
   13601            0 :                                                 tree res_op0;
   13602            0 :                                                 {
   13603            0 :                                                   tree _o1[1], _r1;
   13604            0 :                                                   {
   13605            0 :                                                     tree _o2[1], _r2;
   13606            0 :                                                     _o2[0] = captures[0];
   13607            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13608            0 :                                                     _o1[0] = _r2;
   13609              :                                                   }
   13610            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13611            0 :                                                   res_op0 = _r1;
   13612              :                                                 }
   13613            0 :                                                 tree _r;
   13614            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13615            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13616            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13617            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13618            0 :                                                 return _r;
   13619              :                                               }
   13620            0 : next_after_fail1947:;
   13621              :                                             }
   13622              :                                           else
   13623              :                                             {
   13624            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1948;
   13625            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
   13626            0 :                                               {
   13627            0 :                                                 tree res_op0;
   13628            0 :                                                 {
   13629            0 :                                                   tree _o1[1], _r1;
   13630            0 :                                                   {
   13631            0 :                                                     tree _o2[1], _r2;
   13632            0 :                                                     {
   13633            0 :                                                       tree _o3[1], _r3;
   13634            0 :                                                       _o3[0] = captures[2];
   13635            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13636              :                                                         {
   13637            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13638              :                                                         }
   13639              :                                                       else
   13640              :                                                         _r3 = _o3[0];
   13641            0 :                                                       _o2[0] = _r3;
   13642              :                                                     }
   13643            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13644            0 :                                                     _o1[0] = _r2;
   13645              :                                                   }
   13646            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13647            0 :                                                   res_op0 = _r1;
   13648              :                                                 }
   13649            0 :                                                 tree _r;
   13650            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13651            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13652            0 :                                                 return _r;
   13653              :                                               }
   13654            0 : next_after_fail1948:;
   13655              :                                             }
   13656              :                                       }
   13657              :                                     }
   13658              :                                   else
   13659              :                                     {
   13660            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1949;
   13661            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
   13662            0 :                                       {
   13663            0 :                                         tree res_op0;
   13664            0 :                                         {
   13665            0 :                                           tree _o1[1], _r1;
   13666            0 :                                           {
   13667            0 :                                             tree _o2[1], _r2;
   13668            0 :                                             _o2[0] = captures[2];
   13669            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13670            0 :                                             _o1[0] = _r2;
   13671              :                                           }
   13672            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13673            0 :                                           res_op0 = _r1;
   13674              :                                         }
   13675            0 :                                         tree _r;
   13676            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13677            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13678            0 :                                         return _r;
   13679              :                                       }
   13680            0 : next_after_fail1949:;
   13681              :                                     }
   13682              :                                 }
   13683              :                             }
   13684              :                           }
   13685              :                         break;
   13686              :                       }
   13687              :                     default:;
   13688              :                     }
   13689              :                 }
   13690              :               break;
   13691              :             }
   13692        20799 :           default:;
   13693              :           }
   13694        20799 :         if (zerop (_q21))
   13695              :           {
   13696          633 :             switch (TREE_CODE (_p2))
   13697              :               {
   13698           16 :               case NEGATE_EXPR:
   13699           16 :                 {
   13700           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13701           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13702              :                     {
   13703           16 :                       {
   13704           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13705           16 :                         const enum tree_code cmp = LT_EXPR;
   13706           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13707           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13708           32 :  && element_precision (captures[1])
   13709           16 :  <= element_precision (captures[0])
   13710           16 :  && bitwise_equal_p (captures[1], captures[2])
   13711           32 :  && (!VECTOR_TYPE_P (type)
   13712           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13713            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13714              : )
   13715              :                           {
   13716            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13717            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13718            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13719              : )
   13720              :                               {
   13721            0 :                                 {
   13722            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13723            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13724            0 :                                     if (types_match (captures[0], stype)
   13725              : )
   13726              :                                       {
   13727            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1950;
   13728            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
   13729            0 :                                         {
   13730            0 :                                           tree res_op0;
   13731            0 :                                           {
   13732            0 :                                             tree _o1[1], _r1;
   13733            0 :                                             {
   13734            0 :                                               tree _o2[1], _r2;
   13735            0 :                                               _o2[0] = captures[0];
   13736            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13737            0 :                                               _o1[0] = _r2;
   13738              :                                             }
   13739            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13740            0 :                                             res_op0 = _r1;
   13741              :                                           }
   13742            0 :                                           tree _r;
   13743            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13744            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13745            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13746            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13747            0 :                                           return _r;
   13748              :                                         }
   13749           16 : next_after_fail1950:;
   13750              :                                       }
   13751              :                                     else
   13752              :                                       {
   13753            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1951;
   13754            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
   13755            0 :                                         {
   13756            0 :                                           tree res_op0;
   13757            0 :                                           {
   13758            0 :                                             tree _o1[1], _r1;
   13759            0 :                                             {
   13760            0 :                                               tree _o2[1], _r2;
   13761            0 :                                               {
   13762            0 :                                                 tree _o3[1], _r3;
   13763            0 :                                                 _o3[0] = captures[2];
   13764            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13765              :                                                   {
   13766            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13767              :                                                   }
   13768              :                                                 else
   13769              :                                                   _r3 = _o3[0];
   13770            0 :                                                 _o2[0] = _r3;
   13771              :                                               }
   13772            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13773            0 :                                               _o1[0] = _r2;
   13774              :                                             }
   13775            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13776            0 :                                             res_op0 = _r1;
   13777              :                                           }
   13778            0 :                                           tree _r;
   13779            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13780            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13781            0 :                                           return _r;
   13782              :                                         }
   13783           16 : next_after_fail1951:;
   13784              :                                       }
   13785              :                                 }
   13786              :                               }
   13787              :                             else
   13788              :                               {
   13789            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1952;
   13790            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
   13791            0 :                                 {
   13792            0 :                                   tree res_op0;
   13793            0 :                                   {
   13794            0 :                                     tree _o1[1], _r1;
   13795            0 :                                     {
   13796            0 :                                       tree _o2[1], _r2;
   13797            0 :                                       _o2[0] = captures[2];
   13798            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13799            0 :                                       _o1[0] = _r2;
   13800              :                                     }
   13801            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13802            0 :                                     res_op0 = _r1;
   13803              :                                   }
   13804            0 :                                   tree _r;
   13805            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13806            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13807            0 :                                   return _r;
   13808              :                                 }
   13809           16 : next_after_fail1952:;
   13810              :                               }
   13811              :                           }
   13812              :                       }
   13813              :                     }
   13814              :                   break;
   13815              :                 }
   13816              :               default:;
   13817              :               }
   13818              :           }
   13819        20799 :         switch (TREE_CODE (_q20))
   13820              :           {
   13821            0 :           case MINUS_EXPR:
   13822            0 :             {
   13823            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13824            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13825            0 :               if (zerop (_q21))
   13826              :                 {
   13827            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13828              :                     {
   13829            0 :                       switch (TREE_CODE (_p2))
   13830              :                         {
   13831            0 :                         case MINUS_EXPR:
   13832            0 :                           {
   13833            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13834            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13835            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13836              :                               {
   13837            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13838              :                                   {
   13839            0 :                                     {
   13840            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13841            0 :                                       const enum tree_code cmp = LT_EXPR;
   13842            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13843            0 :  && !TYPE_UNSIGNED (type)
   13844              : )
   13845              :                                         {
   13846            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13847            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13848            0 :  && (!VECTOR_TYPE_P (type)
   13849            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13850            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13851              : )
   13852              :                                             {
   13853            0 :                                               {
   13854            0 :  tree utype = unsigned_type_for (type);
   13855            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1953;
   13856            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1953;
   13857            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
   13858            0 :                                                   {
   13859            0 :                                                     tree res_op0;
   13860            0 :                                                     {
   13861            0 :                                                       tree _o1[1], _r1;
   13862            0 :                                                       {
   13863            0 :                                                         tree _o2[1], _r2;
   13864            0 :                                                         _o2[0] = captures[0];
   13865            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13866            0 :                                                         _o1[0] = _r2;
   13867              :                                                       }
   13868            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13869            0 :                                                       res_op0 = _r1;
   13870              :                                                     }
   13871            0 :                                                     tree _r;
   13872            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13873            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13874            0 :                                                     return _r;
   13875              :                                                   }
   13876            0 : next_after_fail1953:;
   13877              :                                               }
   13878              :                                             }
   13879              :                                           else
   13880              :                                             {
   13881            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1954;
   13882            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1954;
   13883            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1954;
   13884            0 :                                               {
   13885            0 :                                                 tree res_op0;
   13886            0 :                                                 {
   13887            0 :                                                   tree _o1[1], _r1;
   13888            0 :                                                   _o1[0] = captures[0];
   13889            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13890            0 :                                                   res_op0 = _r1;
   13891              :                                                 }
   13892            0 :                                                 tree _r;
   13893            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13894            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   13895            0 :                                                 return _r;
   13896              :                                               }
   13897            0 : next_after_fail1954:;
   13898              :                                             }
   13899              :                                         }
   13900              :                                     }
   13901              :                                   }
   13902              :                               }
   13903              :                             break;
   13904              :                           }
   13905              :                         default:;
   13906              :                         }
   13907              :                     }
   13908              :                 }
   13909              :               break;
   13910              :             }
   13911              :           default:;
   13912              :           }
   13913              :         break;
   13914              :       }
   13915       387873 :     default:;
   13916              :     }
   13917       387873 : {
   13918       387873 :   tree _p0_pops[1];
   13919       387873 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13920              :     {
   13921          986 :       tree _q20 = _p0_pops[0];
   13922          986 :       if (tree_truth_valued_p (_q20))
   13923              :         {
   13924            0 :           {
   13925            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13926            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13927              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13928              : )
   13929              :               {
   13930            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1955;
   13931            0 :                 {
   13932            0 :                   tree res_op0;
   13933            0 :                   res_op0 = captures[0];
   13934            0 :                   tree res_op1;
   13935            0 :                   res_op1 = captures[2];
   13936            0 :                   tree res_op2;
   13937            0 :                   res_op2 = captures[1];
   13938            0 :                   tree _r;
   13939            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13940            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13941            0 :                   return _r;
   13942              :                 }
   13943            0 : next_after_fail1955:;
   13944              :               }
   13945              :           }
   13946              :         }
   13947              :     }
   13948              : }
   13949       387873 :   switch (TREE_CODE (_p1))
   13950              :     {
   13951            0 :     case VIEW_CONVERT_EXPR:
   13952            0 :       {
   13953            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13954            0 :         switch (TREE_CODE (_q30))
   13955              :           {
   13956            0 :           case CALL_EXPR:
   13957            0 :             switch (get_call_combined_fn (_q30))
   13958              :               {
   13959            0 :               case CFN_COND_ADD:
   13960            0 :                 if (call_expr_nargs (_q30) == 4)
   13961              :     {
   13962            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13963            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13964            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13965            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13966            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13967              :                       {
   13968            0 :                         {
   13969            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13970            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13971            0 :                           if (res) return res;
   13972              :                         }
   13973              :                       }
   13974              :                   }
   13975              :                 break;
   13976            0 :               case CFN_COND_AND:
   13977            0 :                 if (call_expr_nargs (_q30) == 4)
   13978              :     {
   13979            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13980            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13981            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13982            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13983            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13984              :                       {
   13985            0 :                         {
   13986            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13987            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13988            0 :                           if (res) return res;
   13989              :                         }
   13990              :                       }
   13991              :                   }
   13992              :                 break;
   13993            0 :               case CFN_COND_DIV:
   13994            0 :                 if (call_expr_nargs (_q30) == 4)
   13995              :     {
   13996            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13997            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13998            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13999            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14000            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14001              :                       {
   14002            0 :                         {
   14003            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14004            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14005            0 :                           if (res) return res;
   14006              :                         }
   14007              :                       }
   14008              :                   }
   14009              :                 break;
   14010            0 :               case CFN_COND_IOR:
   14011            0 :                 if (call_expr_nargs (_q30) == 4)
   14012              :     {
   14013            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14014            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14015            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14016            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14017            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14018              :                       {
   14019            0 :                         {
   14020            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14021            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14022            0 :                           if (res) return res;
   14023              :                         }
   14024              :                       }
   14025              :                   }
   14026              :                 break;
   14027            0 :               case CFN_COND_MAX:
   14028            0 :                 if (call_expr_nargs (_q30) == 4)
   14029              :     {
   14030            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14031            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14032            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14033            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14034            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14035              :                       {
   14036            0 :                         {
   14037            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14038            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14039            0 :                           if (res) return res;
   14040              :                         }
   14041              :                       }
   14042              :                   }
   14043              :                 break;
   14044            0 :               case CFN_COND_MIN:
   14045            0 :                 if (call_expr_nargs (_q30) == 4)
   14046              :     {
   14047            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14048            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14049            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14050            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14051            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14052              :                       {
   14053            0 :                         {
   14054            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14055            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14056            0 :                           if (res) return res;
   14057              :                         }
   14058              :                       }
   14059              :                   }
   14060              :                 break;
   14061            0 :               case CFN_COND_MOD:
   14062            0 :                 if (call_expr_nargs (_q30) == 4)
   14063              :     {
   14064            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14065            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14066            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14067            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14068            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14069              :                       {
   14070            0 :                         {
   14071            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14072            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14073            0 :                           if (res) return res;
   14074              :                         }
   14075              :                       }
   14076              :                   }
   14077              :                 break;
   14078            0 :               case CFN_COND_MUL:
   14079            0 :                 if (call_expr_nargs (_q30) == 4)
   14080              :     {
   14081            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14082            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14083            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14084            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14085            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14086              :                       {
   14087            0 :                         {
   14088            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14089            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14090            0 :                           if (res) return res;
   14091              :                         }
   14092              :                       }
   14093              :                   }
   14094              :                 break;
   14095            0 :               case CFN_COND_SHL:
   14096            0 :                 if (call_expr_nargs (_q30) == 4)
   14097              :     {
   14098            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14099            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14100            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14101            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14102            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14103              :                       {
   14104            0 :                         {
   14105            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14106            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14107            0 :                           if (res) return res;
   14108              :                         }
   14109              :                       }
   14110              :                   }
   14111              :                 break;
   14112            0 :               case CFN_COND_SHR:
   14113            0 :                 if (call_expr_nargs (_q30) == 4)
   14114              :     {
   14115            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14116            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14117            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14118            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14119            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14120              :                       {
   14121            0 :                         {
   14122            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14123            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14124            0 :                           if (res) return res;
   14125              :                         }
   14126              :                       }
   14127              :                   }
   14128              :                 break;
   14129            0 :               case CFN_COND_SUB:
   14130            0 :                 if (call_expr_nargs (_q30) == 4)
   14131              :     {
   14132            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14133            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14134            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14135            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14136            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14137              :                       {
   14138            0 :                         {
   14139            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14140            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14141            0 :                           if (res) return res;
   14142              :                         }
   14143              :                       }
   14144              :                   }
   14145              :                 break;
   14146            0 :               case CFN_COND_XOR:
   14147            0 :                 if (call_expr_nargs (_q30) == 4)
   14148              :     {
   14149            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14150            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14151            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14152            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14153            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14154              :                       {
   14155            0 :                         {
   14156            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14157            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14158            0 :                           if (res) return res;
   14159              :                         }
   14160              :                       }
   14161              :                   }
   14162              :                 break;
   14163            0 :               case CFN_COND_COPYSIGN:
   14164            0 :                 if (call_expr_nargs (_q30) == 4)
   14165              :     {
   14166            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14167            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14168            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14169            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14170            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14171              :                       {
   14172            0 :                         {
   14173            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14174            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14175            0 :                           if (res) return res;
   14176              :                         }
   14177              :                       }
   14178              :                   }
   14179              :                 break;
   14180            0 :               case CFN_COND_FMAX:
   14181            0 :                 if (call_expr_nargs (_q30) == 4)
   14182              :     {
   14183            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14184            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14185            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14186            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14187            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14188              :                       {
   14189            0 :                         {
   14190            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14191            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14192            0 :                           if (res) return res;
   14193              :                         }
   14194              :                       }
   14195              :                   }
   14196              :                 break;
   14197            0 :               case CFN_COND_FMIN:
   14198            0 :                 if (call_expr_nargs (_q30) == 4)
   14199              :     {
   14200            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14201            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14202            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14203            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14204            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14205              :                       {
   14206            0 :                         {
   14207            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14208            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14209            0 :                           if (res) return res;
   14210              :                         }
   14211              :                       }
   14212              :                   }
   14213              :                 break;
   14214            0 :               case CFN_COND_RDIV:
   14215            0 :                 if (call_expr_nargs (_q30) == 4)
   14216              :     {
   14217            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14218            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14219            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14220            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14221            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14222              :                       {
   14223            0 :                         {
   14224            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14225            0 :                           tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14226            0 :                           if (res) return res;
   14227              :                         }
   14228              :                       }
   14229              :                   }
   14230              :                 break;
   14231              :               default:;
   14232              :               }
   14233              :             break;
   14234              :           default:;
   14235              :           }
   14236              :         break;
   14237              :       }
   14238           12 :     case CALL_EXPR:
   14239           12 :       switch (get_call_combined_fn (_p1))
   14240              :         {
   14241            0 :         case CFN_COND_ADD:
   14242            0 :           if (call_expr_nargs (_p1) == 4)
   14243              :     {
   14244            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14245            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14246            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14247            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14248            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14249              :                 {
   14250            0 :                   {
   14251            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14252            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14253            0 :                     if (res) return res;
   14254              :                   }
   14255              :                 }
   14256              :             }
   14257              :           break;
   14258            0 :         case CFN_COND_AND:
   14259            0 :           if (call_expr_nargs (_p1) == 4)
   14260              :     {
   14261            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14262            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14263            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14264            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14265            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14266              :                 {
   14267            0 :                   {
   14268            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14269            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14270            0 :                     if (res) return res;
   14271              :                   }
   14272              :                 }
   14273              :             }
   14274              :           break;
   14275            0 :         case CFN_COND_DIV:
   14276            0 :           if (call_expr_nargs (_p1) == 4)
   14277              :     {
   14278            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14279            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14280            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14281            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14282            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14283              :                 {
   14284            0 :                   {
   14285            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14286            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14287            0 :                     if (res) return res;
   14288              :                   }
   14289              :                 }
   14290              :             }
   14291              :           break;
   14292            0 :         case CFN_COND_IOR:
   14293            0 :           if (call_expr_nargs (_p1) == 4)
   14294              :     {
   14295            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14296            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14297            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14298            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14299            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14300              :                 {
   14301            0 :                   {
   14302            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14303            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14304            0 :                     if (res) return res;
   14305              :                   }
   14306              :                 }
   14307              :             }
   14308              :           break;
   14309            0 :         case CFN_COND_MAX:
   14310            0 :           if (call_expr_nargs (_p1) == 4)
   14311              :     {
   14312            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14313            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14314            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14315            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14316            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14317              :                 {
   14318            0 :                   {
   14319            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14320            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14321            0 :                     if (res) return res;
   14322              :                   }
   14323              :                 }
   14324              :             }
   14325              :           break;
   14326            0 :         case CFN_COND_MIN:
   14327            0 :           if (call_expr_nargs (_p1) == 4)
   14328              :     {
   14329            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14330            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14331            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14332            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14333            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14334              :                 {
   14335            0 :                   {
   14336            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14337            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14338            0 :                     if (res) return res;
   14339              :                   }
   14340              :                 }
   14341              :             }
   14342              :           break;
   14343            0 :         case CFN_COND_MOD:
   14344            0 :           if (call_expr_nargs (_p1) == 4)
   14345              :     {
   14346            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14347            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14348            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14349            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14350            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14351              :                 {
   14352            0 :                   {
   14353            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14354            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14355            0 :                     if (res) return res;
   14356              :                   }
   14357              :                 }
   14358              :             }
   14359              :           break;
   14360            0 :         case CFN_COND_MUL:
   14361            0 :           if (call_expr_nargs (_p1) == 4)
   14362              :     {
   14363            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14364            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14365            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14366            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14367            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14368              :                 {
   14369            0 :                   {
   14370            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14371            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14372            0 :                     if (res) return res;
   14373              :                   }
   14374              :                 }
   14375              :             }
   14376              :           break;
   14377            0 :         case CFN_COND_SHL:
   14378            0 :           if (call_expr_nargs (_p1) == 4)
   14379              :     {
   14380            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14381            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14382            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14383            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14384            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14385              :                 {
   14386            0 :                   {
   14387            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14388            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14389            0 :                     if (res) return res;
   14390              :                   }
   14391              :                 }
   14392              :             }
   14393              :           break;
   14394            0 :         case CFN_COND_SHR:
   14395            0 :           if (call_expr_nargs (_p1) == 4)
   14396              :     {
   14397            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14398            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14399            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14400            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14401            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14402              :                 {
   14403            0 :                   {
   14404            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14405            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14406            0 :                     if (res) return res;
   14407              :                   }
   14408              :                 }
   14409              :             }
   14410              :           break;
   14411            0 :         case CFN_COND_SUB:
   14412            0 :           if (call_expr_nargs (_p1) == 4)
   14413              :     {
   14414            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14415            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14416            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14417            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14418            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14419              :                 {
   14420            0 :                   {
   14421            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14422            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14423            0 :                     if (res) return res;
   14424              :                   }
   14425              :                 }
   14426              :             }
   14427              :           break;
   14428            0 :         case CFN_COND_XOR:
   14429            0 :           if (call_expr_nargs (_p1) == 4)
   14430              :     {
   14431            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14432            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14433            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14434            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14435            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14436              :                 {
   14437            0 :                   {
   14438            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14439            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14440            0 :                     if (res) return res;
   14441              :                   }
   14442              :                 }
   14443              :             }
   14444              :           break;
   14445            0 :         case CFN_COND_COPYSIGN:
   14446            0 :           if (call_expr_nargs (_p1) == 4)
   14447              :     {
   14448            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14449            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14450            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14451            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14452            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14453              :                 {
   14454            0 :                   {
   14455            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14456            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14457            0 :                     if (res) return res;
   14458              :                   }
   14459              :                 }
   14460              :             }
   14461              :           break;
   14462            0 :         case CFN_COND_FMAX:
   14463            0 :           if (call_expr_nargs (_p1) == 4)
   14464              :     {
   14465            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14466            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14467            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14468            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14469            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14470              :                 {
   14471            0 :                   {
   14472            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14473            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14474            0 :                     if (res) return res;
   14475              :                   }
   14476              :                 }
   14477              :             }
   14478              :           break;
   14479            0 :         case CFN_COND_FMIN:
   14480            0 :           if (call_expr_nargs (_p1) == 4)
   14481              :     {
   14482            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14483            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14484            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14485            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14486            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14487              :                 {
   14488            0 :                   {
   14489            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14490            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14491            0 :                     if (res) return res;
   14492              :                   }
   14493              :                 }
   14494              :             }
   14495              :           break;
   14496            0 :         case CFN_COND_RDIV:
   14497            0 :           if (call_expr_nargs (_p1) == 4)
   14498              :     {
   14499            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14500            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14501            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14502            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14503            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14504              :                 {
   14505            0 :                   {
   14506            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14507            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14508            0 :                     if (res) return res;
   14509              :                   }
   14510              :                 }
   14511              :             }
   14512              :           break;
   14513              :         default:;
   14514              :         }
   14515              :       break;
   14516       387873 :     default:;
   14517              :     }
   14518       387873 :   switch (TREE_CODE (_p2))
   14519              :     {
   14520            0 :     case VIEW_CONVERT_EXPR:
   14521            0 :       {
   14522            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14523            0 :         switch (TREE_CODE (_q40))
   14524              :           {
   14525            0 :           case CALL_EXPR:
   14526            0 :             switch (get_call_combined_fn (_q40))
   14527              :               {
   14528            0 :               case CFN_COND_ADD:
   14529            0 :                 if (call_expr_nargs (_q40) == 4)
   14530              :     {
   14531            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14532            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14533            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14534            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14535            0 :                     {
   14536            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14537            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14538            0 :                       if (res) return res;
   14539              :                     }
   14540              :                   }
   14541              :                 break;
   14542            0 :               case CFN_COND_AND:
   14543            0 :                 if (call_expr_nargs (_q40) == 4)
   14544              :     {
   14545            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14546            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14547            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14548            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14549            0 :                     {
   14550            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14551            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14552            0 :                       if (res) return res;
   14553              :                     }
   14554              :                   }
   14555              :                 break;
   14556            0 :               case CFN_COND_DIV:
   14557            0 :                 if (call_expr_nargs (_q40) == 4)
   14558              :     {
   14559            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14560            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14561            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14562            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14563            0 :                     {
   14564            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14565            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14566            0 :                       if (res) return res;
   14567              :                     }
   14568              :                   }
   14569              :                 break;
   14570            0 :               case CFN_COND_IOR:
   14571            0 :                 if (call_expr_nargs (_q40) == 4)
   14572              :     {
   14573            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14574            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14575            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14576            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14577            0 :                     {
   14578            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14579            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14580            0 :                       if (res) return res;
   14581              :                     }
   14582              :                   }
   14583              :                 break;
   14584            0 :               case CFN_COND_MAX:
   14585            0 :                 if (call_expr_nargs (_q40) == 4)
   14586              :     {
   14587            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14588            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14589            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14590            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14591            0 :                     {
   14592            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14593            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14594            0 :                       if (res) return res;
   14595              :                     }
   14596              :                   }
   14597              :                 break;
   14598            0 :               case CFN_COND_MIN:
   14599            0 :                 if (call_expr_nargs (_q40) == 4)
   14600              :     {
   14601            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14602            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14603            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14604            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14605            0 :                     {
   14606            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14607            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14608            0 :                       if (res) return res;
   14609              :                     }
   14610              :                   }
   14611              :                 break;
   14612            0 :               case CFN_COND_MOD:
   14613            0 :                 if (call_expr_nargs (_q40) == 4)
   14614              :     {
   14615            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14616            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14617            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14618            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14619            0 :                     {
   14620            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14621            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14622            0 :                       if (res) return res;
   14623              :                     }
   14624              :                   }
   14625              :                 break;
   14626            0 :               case CFN_COND_MUL:
   14627            0 :                 if (call_expr_nargs (_q40) == 4)
   14628              :     {
   14629            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14630            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14631            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14632            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14633            0 :                     {
   14634            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14635            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14636            0 :                       if (res) return res;
   14637              :                     }
   14638              :                   }
   14639              :                 break;
   14640            0 :               case CFN_COND_SHL:
   14641            0 :                 if (call_expr_nargs (_q40) == 4)
   14642              :     {
   14643            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14644            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14645            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14646            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14647            0 :                     {
   14648            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14649            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14650            0 :                       if (res) return res;
   14651              :                     }
   14652              :                   }
   14653              :                 break;
   14654            0 :               case CFN_COND_SHR:
   14655            0 :                 if (call_expr_nargs (_q40) == 4)
   14656              :     {
   14657            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14658            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14659            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14660            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14661            0 :                     {
   14662            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14663            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14664            0 :                       if (res) return res;
   14665              :                     }
   14666              :                   }
   14667              :                 break;
   14668            0 :               case CFN_COND_SUB:
   14669            0 :                 if (call_expr_nargs (_q40) == 4)
   14670              :     {
   14671            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14672            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14673            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14674            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14675            0 :                     {
   14676            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14677            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14678            0 :                       if (res) return res;
   14679              :                     }
   14680              :                   }
   14681              :                 break;
   14682            0 :               case CFN_COND_XOR:
   14683            0 :                 if (call_expr_nargs (_q40) == 4)
   14684              :     {
   14685            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14686            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14687            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14688            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14689            0 :                     {
   14690            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14691            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14692            0 :                       if (res) return res;
   14693              :                     }
   14694              :                   }
   14695              :                 break;
   14696            0 :               case CFN_COND_COPYSIGN:
   14697            0 :                 if (call_expr_nargs (_q40) == 4)
   14698              :     {
   14699            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14700            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14701            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14702            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14703            0 :                     {
   14704            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14705            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14706            0 :                       if (res) return res;
   14707              :                     }
   14708              :                   }
   14709              :                 break;
   14710            0 :               case CFN_COND_FMAX:
   14711            0 :                 if (call_expr_nargs (_q40) == 4)
   14712              :     {
   14713            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14714            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14715            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14716            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14717            0 :                     {
   14718            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14719            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14720            0 :                       if (res) return res;
   14721              :                     }
   14722              :                   }
   14723              :                 break;
   14724            0 :               case CFN_COND_FMIN:
   14725            0 :                 if (call_expr_nargs (_q40) == 4)
   14726              :     {
   14727            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14728            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14729            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14730            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14731            0 :                     {
   14732            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14733            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14734            0 :                       if (res) return res;
   14735              :                     }
   14736              :                   }
   14737              :                 break;
   14738            0 :               case CFN_COND_RDIV:
   14739            0 :                 if (call_expr_nargs (_q40) == 4)
   14740              :     {
   14741            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14742            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14743            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14744            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14745            0 :                     {
   14746            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14747            0 :                       tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14748            0 :                       if (res) return res;
   14749              :                     }
   14750              :                   }
   14751              :                 break;
   14752              :               default:;
   14753              :               }
   14754              :             break;
   14755              :           default:;
   14756              :           }
   14757              :         break;
   14758              :       }
   14759           12 :     case CALL_EXPR:
   14760           12 :       switch (get_call_combined_fn (_p2))
   14761              :         {
   14762            0 :         case CFN_COND_ADD:
   14763            0 :           if (call_expr_nargs (_p2) == 4)
   14764              :     {
   14765            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14766            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14767            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14768            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14769            0 :               {
   14770            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14771            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14772            0 :                 if (res) return res;
   14773              :               }
   14774              :             }
   14775              :           break;
   14776            0 :         case CFN_COND_AND:
   14777            0 :           if (call_expr_nargs (_p2) == 4)
   14778              :     {
   14779            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14780            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14781            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14782            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14783            0 :               {
   14784            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14785            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14786            0 :                 if (res) return res;
   14787              :               }
   14788              :             }
   14789              :           break;
   14790            0 :         case CFN_COND_DIV:
   14791            0 :           if (call_expr_nargs (_p2) == 4)
   14792              :     {
   14793            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14794            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14795            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14796            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14797            0 :               {
   14798            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14799            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14800            0 :                 if (res) return res;
   14801              :               }
   14802              :             }
   14803              :           break;
   14804            0 :         case CFN_COND_IOR:
   14805            0 :           if (call_expr_nargs (_p2) == 4)
   14806              :     {
   14807            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14808            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14809            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14810            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14811            0 :               {
   14812            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14813            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14814            0 :                 if (res) return res;
   14815              :               }
   14816              :             }
   14817              :           break;
   14818            0 :         case CFN_COND_MAX:
   14819            0 :           if (call_expr_nargs (_p2) == 4)
   14820              :     {
   14821            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14822            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14823            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14824            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14825            0 :               {
   14826            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14827            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14828            0 :                 if (res) return res;
   14829              :               }
   14830              :             }
   14831              :           break;
   14832            0 :         case CFN_COND_MIN:
   14833            0 :           if (call_expr_nargs (_p2) == 4)
   14834              :     {
   14835            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14836            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14837            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14838            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14839            0 :               {
   14840            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14841            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14842            0 :                 if (res) return res;
   14843              :               }
   14844              :             }
   14845              :           break;
   14846            0 :         case CFN_COND_MOD:
   14847            0 :           if (call_expr_nargs (_p2) == 4)
   14848              :     {
   14849            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14850            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14851            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14852            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14853            0 :               {
   14854            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14855            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14856            0 :                 if (res) return res;
   14857              :               }
   14858              :             }
   14859              :           break;
   14860            0 :         case CFN_COND_MUL:
   14861            0 :           if (call_expr_nargs (_p2) == 4)
   14862              :     {
   14863            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14864            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14865            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14866            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14867            0 :               {
   14868            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14869            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14870            0 :                 if (res) return res;
   14871              :               }
   14872              :             }
   14873              :           break;
   14874            0 :         case CFN_COND_SHL:
   14875            0 :           if (call_expr_nargs (_p2) == 4)
   14876              :     {
   14877            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14878            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14879            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14880            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14881            0 :               {
   14882            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14883            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14884            0 :                 if (res) return res;
   14885              :               }
   14886              :             }
   14887              :           break;
   14888            0 :         case CFN_COND_SHR:
   14889            0 :           if (call_expr_nargs (_p2) == 4)
   14890              :     {
   14891            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14892            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14893            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14894            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14895            0 :               {
   14896            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14897            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14898            0 :                 if (res) return res;
   14899              :               }
   14900              :             }
   14901              :           break;
   14902            0 :         case CFN_COND_SUB:
   14903            0 :           if (call_expr_nargs (_p2) == 4)
   14904              :     {
   14905            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14906            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14907            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14908            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14909            0 :               {
   14910            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14911            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14912            0 :                 if (res) return res;
   14913              :               }
   14914              :             }
   14915              :           break;
   14916            0 :         case CFN_COND_XOR:
   14917            0 :           if (call_expr_nargs (_p2) == 4)
   14918              :     {
   14919            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14920            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14921            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14922            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14923            0 :               {
   14924            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14925            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14926            0 :                 if (res) return res;
   14927              :               }
   14928              :             }
   14929              :           break;
   14930            0 :         case CFN_COND_COPYSIGN:
   14931            0 :           if (call_expr_nargs (_p2) == 4)
   14932              :     {
   14933            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14934            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14935            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14936            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14937            0 :               {
   14938            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14939            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14940            0 :                 if (res) return res;
   14941              :               }
   14942              :             }
   14943              :           break;
   14944            0 :         case CFN_COND_FMAX:
   14945            0 :           if (call_expr_nargs (_p2) == 4)
   14946              :     {
   14947            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14948            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14949            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14950            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14951            0 :               {
   14952            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14953            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14954            0 :                 if (res) return res;
   14955              :               }
   14956              :             }
   14957              :           break;
   14958            0 :         case CFN_COND_FMIN:
   14959            0 :           if (call_expr_nargs (_p2) == 4)
   14960              :     {
   14961            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14962            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14963            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14964            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14965            0 :               {
   14966            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14967            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14968            0 :                 if (res) return res;
   14969              :               }
   14970              :             }
   14971              :           break;
   14972            0 :         case CFN_COND_RDIV:
   14973            0 :           if (call_expr_nargs (_p2) == 4)
   14974              :     {
   14975            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14976            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14977            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14978            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14979            0 :               {
   14980            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14981            0 :                 tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14982            0 :                 if (res) return res;
   14983              :               }
   14984              :             }
   14985              :           break;
   14986              :         default:;
   14987              :         }
   14988              :       break;
   14989       387873 :     default:;
   14990              :     }
   14991       387873 :   switch (TREE_CODE (_p1))
   14992              :     {
   14993            0 :     case VIEW_CONVERT_EXPR:
   14994            0 :       {
   14995            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14996            0 :         switch (TREE_CODE (_q30))
   14997              :           {
   14998            0 :           case CALL_EXPR:
   14999            0 :             switch (get_call_combined_fn (_q30))
   15000              :               {
   15001            0 :               case CFN_COND_FMA:
   15002            0 :                 if (call_expr_nargs (_q30) == 5)
   15003              :     {
   15004            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15005            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15006            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15007            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15008            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15009            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15010              :                       {
   15011            0 :                         {
   15012            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15013            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15014            0 :                           if (res) return res;
   15015              :                         }
   15016              :                       }
   15017              :                   }
   15018              :                 break;
   15019            0 :               case CFN_COND_FMS:
   15020            0 :                 if (call_expr_nargs (_q30) == 5)
   15021              :     {
   15022            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15023            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15024            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15025            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15026            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15027            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15028              :                       {
   15029            0 :                         {
   15030            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15031            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15032            0 :                           if (res) return res;
   15033              :                         }
   15034              :                       }
   15035              :                   }
   15036              :                 break;
   15037            0 :               case CFN_COND_FNMA:
   15038            0 :                 if (call_expr_nargs (_q30) == 5)
   15039              :     {
   15040            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15041            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15042            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15043            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15044            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15045            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15046              :                       {
   15047            0 :                         {
   15048            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15049            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15050            0 :                           if (res) return res;
   15051              :                         }
   15052              :                       }
   15053              :                   }
   15054              :                 break;
   15055            0 :               case CFN_COND_FNMS:
   15056            0 :                 if (call_expr_nargs (_q30) == 5)
   15057              :     {
   15058            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15059            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15060            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15061            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15062            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15063            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15064              :                       {
   15065            0 :                         {
   15066            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15067            0 :                           tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15068            0 :                           if (res) return res;
   15069              :                         }
   15070              :                       }
   15071              :                   }
   15072              :                 break;
   15073              :               default:;
   15074              :               }
   15075              :             break;
   15076              :           default:;
   15077              :           }
   15078              :         break;
   15079              :       }
   15080           12 :     case CALL_EXPR:
   15081           12 :       switch (get_call_combined_fn (_p1))
   15082              :         {
   15083            0 :         case CFN_COND_FMA:
   15084            0 :           if (call_expr_nargs (_p1) == 5)
   15085              :     {
   15086            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15087            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15088            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15089            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15090            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15091            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15092              :                 {
   15093            0 :                   {
   15094            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15095            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15096            0 :                     if (res) return res;
   15097              :                   }
   15098              :                 }
   15099              :             }
   15100              :           break;
   15101            0 :         case CFN_COND_FMS:
   15102            0 :           if (call_expr_nargs (_p1) == 5)
   15103              :     {
   15104            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15105            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15106            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15107            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15108            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15109            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15110              :                 {
   15111            0 :                   {
   15112            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15113            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15114            0 :                     if (res) return res;
   15115              :                   }
   15116              :                 }
   15117              :             }
   15118              :           break;
   15119            0 :         case CFN_COND_FNMA:
   15120            0 :           if (call_expr_nargs (_p1) == 5)
   15121              :     {
   15122            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15123            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15124            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15125            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15126            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15127            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15128              :                 {
   15129            0 :                   {
   15130            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15131            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15132            0 :                     if (res) return res;
   15133              :                   }
   15134              :                 }
   15135              :             }
   15136              :           break;
   15137            0 :         case CFN_COND_FNMS:
   15138            0 :           if (call_expr_nargs (_p1) == 5)
   15139              :     {
   15140            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15141            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15142            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15143            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15144            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15145            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15146              :                 {
   15147            0 :                   {
   15148            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15149            0 :                     tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15150            0 :                     if (res) return res;
   15151              :                   }
   15152              :                 }
   15153              :             }
   15154              :           break;
   15155              :         default:;
   15156              :         }
   15157              :       break;
   15158       387873 :     default:;
   15159              :     }
   15160       387873 :   switch (TREE_CODE (_p2))
   15161              :     {
   15162            0 :     case VIEW_CONVERT_EXPR:
   15163            0 :       {
   15164            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15165            0 :         switch (TREE_CODE (_q40))
   15166              :           {
   15167            0 :           case CALL_EXPR:
   15168            0 :             switch (get_call_combined_fn (_q40))
   15169              :               {
   15170            0 :               case CFN_COND_FMA:
   15171            0 :                 if (call_expr_nargs (_q40) == 5)
   15172              :     {
   15173            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15174            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15175            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15176            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15177            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15178            0 :                     {
   15179            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15180            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15181            0 :                       if (res) return res;
   15182              :                     }
   15183              :                   }
   15184              :                 break;
   15185            0 :               case CFN_COND_FMS:
   15186            0 :                 if (call_expr_nargs (_q40) == 5)
   15187              :     {
   15188            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15189            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15190            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15191            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15192            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15193            0 :                     {
   15194            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15195            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15196            0 :                       if (res) return res;
   15197              :                     }
   15198              :                   }
   15199              :                 break;
   15200            0 :               case CFN_COND_FNMA:
   15201            0 :                 if (call_expr_nargs (_q40) == 5)
   15202              :     {
   15203            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15204            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15205            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15206            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15207            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15208            0 :                     {
   15209            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15210            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15211            0 :                       if (res) return res;
   15212              :                     }
   15213              :                   }
   15214              :                 break;
   15215            0 :               case CFN_COND_FNMS:
   15216            0 :                 if (call_expr_nargs (_q40) == 5)
   15217              :     {
   15218            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15219            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15220            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15221            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15222            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15223            0 :                     {
   15224            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15225            0 :                       tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15226            0 :                       if (res) return res;
   15227              :                     }
   15228              :                   }
   15229              :                 break;
   15230              :               default:;
   15231              :               }
   15232              :             break;
   15233              :           default:;
   15234              :           }
   15235              :         break;
   15236              :       }
   15237           12 :     case CALL_EXPR:
   15238           12 :       switch (get_call_combined_fn (_p2))
   15239              :         {
   15240            0 :         case CFN_COND_FMA:
   15241            0 :           if (call_expr_nargs (_p2) == 5)
   15242              :     {
   15243            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15244            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15245            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15246            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15247            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15248            0 :               {
   15249            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15250            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15251            0 :                 if (res) return res;
   15252              :               }
   15253              :             }
   15254              :           break;
   15255            0 :         case CFN_COND_FMS:
   15256            0 :           if (call_expr_nargs (_p2) == 5)
   15257              :     {
   15258            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15259            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15260            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15261            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15262            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15263            0 :               {
   15264            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15265            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15266            0 :                 if (res) return res;
   15267              :               }
   15268              :             }
   15269              :           break;
   15270            0 :         case CFN_COND_FNMA:
   15271            0 :           if (call_expr_nargs (_p2) == 5)
   15272              :     {
   15273            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15274            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15275            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15276            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15277            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15278            0 :               {
   15279            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15280            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15281            0 :                 if (res) return res;
   15282              :               }
   15283              :             }
   15284              :           break;
   15285            0 :         case CFN_COND_FNMS:
   15286            0 :           if (call_expr_nargs (_p2) == 5)
   15287              :     {
   15288            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15289            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15290            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15291            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15292            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15293            0 :               {
   15294            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15295            0 :                 tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15296            0 :                 if (res) return res;
   15297              :               }
   15298              :             }
   15299              :           break;
   15300              :         default:;
   15301              :         }
   15302              :       break;
   15303       387873 :     default:;
   15304              :     }
   15305       387873 :   switch (TREE_CODE (_p1))
   15306              :     {
   15307            0 :     case VIEW_CONVERT_EXPR:
   15308            0 :       {
   15309            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15310            0 :         switch (TREE_CODE (_q30))
   15311              :           {
   15312            0 :           case CALL_EXPR:
   15313            0 :             switch (get_call_combined_fn (_q30))
   15314              :               {
   15315            0 :               case CFN_COND_LEN_ADD:
   15316            0 :                 if (call_expr_nargs (_q30) == 6)
   15317              :     {
   15318            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15319            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15320            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15321            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15322            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15323            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15324            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15325              :                       {
   15326            0 :                         {
   15327            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15328            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15329            0 :                           if (res) return res;
   15330              :                         }
   15331              :                       }
   15332              :                   }
   15333              :                 break;
   15334            0 :               case CFN_COND_LEN_AND:
   15335            0 :                 if (call_expr_nargs (_q30) == 6)
   15336              :     {
   15337            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15338            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15339            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15340            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15341            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15342            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15343            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15344              :                       {
   15345            0 :                         {
   15346            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15347            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15348            0 :                           if (res) return res;
   15349              :                         }
   15350              :                       }
   15351              :                   }
   15352              :                 break;
   15353            0 :               case CFN_COND_LEN_DIV:
   15354            0 :                 if (call_expr_nargs (_q30) == 6)
   15355              :     {
   15356            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15357            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15358            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15359            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15360            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15361            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15362            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15363              :                       {
   15364            0 :                         {
   15365            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15366            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15367            0 :                           if (res) return res;
   15368              :                         }
   15369              :                       }
   15370              :                   }
   15371              :                 break;
   15372            0 :               case CFN_COND_LEN_IOR:
   15373            0 :                 if (call_expr_nargs (_q30) == 6)
   15374              :     {
   15375            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15376            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15377            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15378            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15379            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15380            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15381            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15382              :                       {
   15383            0 :                         {
   15384            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15385            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15386            0 :                           if (res) return res;
   15387              :                         }
   15388              :                       }
   15389              :                   }
   15390              :                 break;
   15391            0 :               case CFN_COND_LEN_MAX:
   15392            0 :                 if (call_expr_nargs (_q30) == 6)
   15393              :     {
   15394            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15395            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15396            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15397            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15398            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15399            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15400            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15401              :                       {
   15402            0 :                         {
   15403            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15404            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15405            0 :                           if (res) return res;
   15406              :                         }
   15407              :                       }
   15408              :                   }
   15409              :                 break;
   15410            0 :               case CFN_COND_LEN_MIN:
   15411            0 :                 if (call_expr_nargs (_q30) == 6)
   15412              :     {
   15413            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15414            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15415            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15416            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15417            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15418            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15419            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15420              :                       {
   15421            0 :                         {
   15422            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15423            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15424            0 :                           if (res) return res;
   15425              :                         }
   15426              :                       }
   15427              :                   }
   15428              :                 break;
   15429            0 :               case CFN_COND_LEN_MOD:
   15430            0 :                 if (call_expr_nargs (_q30) == 6)
   15431              :     {
   15432            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15433            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15434            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15435            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15436            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15437            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15438            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15439              :                       {
   15440            0 :                         {
   15441            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15442            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15443            0 :                           if (res) return res;
   15444              :                         }
   15445              :                       }
   15446              :                   }
   15447              :                 break;
   15448            0 :               case CFN_COND_LEN_MUL:
   15449            0 :                 if (call_expr_nargs (_q30) == 6)
   15450              :     {
   15451            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15452            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15453            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15454            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15455            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15456            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15457            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15458              :                       {
   15459            0 :                         {
   15460            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15461            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15462            0 :                           if (res) return res;
   15463              :                         }
   15464              :                       }
   15465              :                   }
   15466              :                 break;
   15467            0 :               case CFN_COND_LEN_SHL:
   15468            0 :                 if (call_expr_nargs (_q30) == 6)
   15469              :     {
   15470            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15471            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15472            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15473            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15474            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15475            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15476            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15477              :                       {
   15478            0 :                         {
   15479            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15480            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15481            0 :                           if (res) return res;
   15482              :                         }
   15483              :                       }
   15484              :                   }
   15485              :                 break;
   15486            0 :               case CFN_COND_LEN_SHR:
   15487            0 :                 if (call_expr_nargs (_q30) == 6)
   15488              :     {
   15489            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15490            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15491            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15492            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15493            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15494            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15495            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15496              :                       {
   15497            0 :                         {
   15498            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15499            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15500            0 :                           if (res) return res;
   15501              :                         }
   15502              :                       }
   15503              :                   }
   15504              :                 break;
   15505            0 :               case CFN_COND_LEN_SUB:
   15506            0 :                 if (call_expr_nargs (_q30) == 6)
   15507              :     {
   15508            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15509            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15510            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15511            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15512            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15513            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15514            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15515              :                       {
   15516            0 :                         {
   15517            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15518            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15519            0 :                           if (res) return res;
   15520              :                         }
   15521              :                       }
   15522              :                   }
   15523              :                 break;
   15524            0 :               case CFN_COND_LEN_XOR:
   15525            0 :                 if (call_expr_nargs (_q30) == 6)
   15526              :     {
   15527            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15528            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15529            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15530            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15531            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15532            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15533            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15534              :                       {
   15535            0 :                         {
   15536            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15537            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15538            0 :                           if (res) return res;
   15539              :                         }
   15540              :                       }
   15541              :                   }
   15542              :                 break;
   15543            0 :               case CFN_COND_LEN_FMAX:
   15544            0 :                 if (call_expr_nargs (_q30) == 6)
   15545              :     {
   15546            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15547            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15548            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15549            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15550            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15551            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15552            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15553              :                       {
   15554            0 :                         {
   15555            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15556            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15557            0 :                           if (res) return res;
   15558              :                         }
   15559              :                       }
   15560              :                   }
   15561              :                 break;
   15562            0 :               case CFN_COND_LEN_FMIN:
   15563            0 :                 if (call_expr_nargs (_q30) == 6)
   15564              :     {
   15565            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15566            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15567            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15568            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15569            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15570            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15571            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15572              :                       {
   15573            0 :                         {
   15574            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15575            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15576            0 :                           if (res) return res;
   15577              :                         }
   15578              :                       }
   15579              :                   }
   15580              :                 break;
   15581            0 :               case CFN_COND_LEN_RDIV:
   15582            0 :                 if (call_expr_nargs (_q30) == 6)
   15583              :     {
   15584            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15585            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15586            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15587            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15588            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15589            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15590            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15591              :                       {
   15592            0 :                         {
   15593            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15594            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15595            0 :                           if (res) return res;
   15596              :                         }
   15597              :                       }
   15598              :                   }
   15599              :                 break;
   15600            0 :               case CFN_COND_LEN_COPYSIGN:
   15601            0 :                 if (call_expr_nargs (_q30) == 6)
   15602              :     {
   15603            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15604            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15605            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15606            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15607            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15608            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15609            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15610              :                       {
   15611            0 :                         {
   15612            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15613            0 :                           tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15614            0 :                           if (res) return res;
   15615              :                         }
   15616              :                       }
   15617              :                   }
   15618              :                 break;
   15619              :               default:;
   15620              :               }
   15621              :             break;
   15622              :           default:;
   15623              :           }
   15624              :         break;
   15625              :       }
   15626           12 :     case CALL_EXPR:
   15627           12 :       switch (get_call_combined_fn (_p1))
   15628              :         {
   15629            0 :         case CFN_COND_LEN_ADD:
   15630            0 :           if (call_expr_nargs (_p1) == 6)
   15631              :     {
   15632            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15633            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15634            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15635            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15636            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15637            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15638            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15639              :                 {
   15640            0 :                   {
   15641            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15642            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15643            0 :                     if (res) return res;
   15644              :                   }
   15645              :                 }
   15646              :             }
   15647              :           break;
   15648            0 :         case CFN_COND_LEN_AND:
   15649            0 :           if (call_expr_nargs (_p1) == 6)
   15650              :     {
   15651            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15652            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15653            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15654            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15655            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15656            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15657            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15658              :                 {
   15659            0 :                   {
   15660            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15661            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15662            0 :                     if (res) return res;
   15663              :                   }
   15664              :                 }
   15665              :             }
   15666              :           break;
   15667            0 :         case CFN_COND_LEN_DIV:
   15668            0 :           if (call_expr_nargs (_p1) == 6)
   15669              :     {
   15670            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15671            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15672            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15673            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15674            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15675            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15676            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15677              :                 {
   15678            0 :                   {
   15679            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15680            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15681            0 :                     if (res) return res;
   15682              :                   }
   15683              :                 }
   15684              :             }
   15685              :           break;
   15686            0 :         case CFN_COND_LEN_IOR:
   15687            0 :           if (call_expr_nargs (_p1) == 6)
   15688              :     {
   15689            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15690            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15691            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15692            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15693            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15694            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15695            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15696              :                 {
   15697            0 :                   {
   15698            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15699            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15700            0 :                     if (res) return res;
   15701              :                   }
   15702              :                 }
   15703              :             }
   15704              :           break;
   15705            0 :         case CFN_COND_LEN_MAX:
   15706            0 :           if (call_expr_nargs (_p1) == 6)
   15707              :     {
   15708            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15709            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15710            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15711            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15712            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15713            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15714            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15715              :                 {
   15716            0 :                   {
   15717            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15718            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15719            0 :                     if (res) return res;
   15720              :                   }
   15721              :                 }
   15722              :             }
   15723              :           break;
   15724            0 :         case CFN_COND_LEN_MIN:
   15725            0 :           if (call_expr_nargs (_p1) == 6)
   15726              :     {
   15727            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15728            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15729            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15730            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15731            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15732            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15733            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15734              :                 {
   15735            0 :                   {
   15736            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15737            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15738            0 :                     if (res) return res;
   15739              :                   }
   15740              :                 }
   15741              :             }
   15742              :           break;
   15743            0 :         case CFN_COND_LEN_MOD:
   15744            0 :           if (call_expr_nargs (_p1) == 6)
   15745              :     {
   15746            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15747            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15748            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15749            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15750            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15751            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15752            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15753              :                 {
   15754            0 :                   {
   15755            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15756            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15757            0 :                     if (res) return res;
   15758              :                   }
   15759              :                 }
   15760              :             }
   15761              :           break;
   15762            0 :         case CFN_COND_LEN_MUL:
   15763            0 :           if (call_expr_nargs (_p1) == 6)
   15764              :     {
   15765            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15766            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15767            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15768            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15769            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15770            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15771            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15772              :                 {
   15773            0 :                   {
   15774            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15775            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15776            0 :                     if (res) return res;
   15777              :                   }
   15778              :                 }
   15779              :             }
   15780              :           break;
   15781            0 :         case CFN_COND_LEN_SHL:
   15782            0 :           if (call_expr_nargs (_p1) == 6)
   15783              :     {
   15784            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15785            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15786            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15787            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15788            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15789            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15790            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15791              :                 {
   15792            0 :                   {
   15793            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15794            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15795            0 :                     if (res) return res;
   15796              :                   }
   15797              :                 }
   15798              :             }
   15799              :           break;
   15800            0 :         case CFN_COND_LEN_SHR:
   15801            0 :           if (call_expr_nargs (_p1) == 6)
   15802              :     {
   15803            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15804            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15805            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15806            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15807            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15808            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15809            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15810              :                 {
   15811            0 :                   {
   15812            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15813            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15814            0 :                     if (res) return res;
   15815              :                   }
   15816              :                 }
   15817              :             }
   15818              :           break;
   15819            0 :         case CFN_COND_LEN_SUB:
   15820            0 :           if (call_expr_nargs (_p1) == 6)
   15821              :     {
   15822            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15823            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15824            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15825            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15826            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15827            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15828            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15829              :                 {
   15830            0 :                   {
   15831            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15832            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15833            0 :                     if (res) return res;
   15834              :                   }
   15835              :                 }
   15836              :             }
   15837              :           break;
   15838            0 :         case CFN_COND_LEN_XOR:
   15839            0 :           if (call_expr_nargs (_p1) == 6)
   15840              :     {
   15841            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15842            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15843            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15844            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15845            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15846            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15847            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15848              :                 {
   15849            0 :                   {
   15850            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15851            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15852            0 :                     if (res) return res;
   15853              :                   }
   15854              :                 }
   15855              :             }
   15856              :           break;
   15857            0 :         case CFN_COND_LEN_FMAX:
   15858            0 :           if (call_expr_nargs (_p1) == 6)
   15859              :     {
   15860            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15861            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15862            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15863            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15864            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15865            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15866            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15867              :                 {
   15868            0 :                   {
   15869            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15870            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15871            0 :                     if (res) return res;
   15872              :                   }
   15873              :                 }
   15874              :             }
   15875              :           break;
   15876            0 :         case CFN_COND_LEN_FMIN:
   15877            0 :           if (call_expr_nargs (_p1) == 6)
   15878              :     {
   15879            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15880            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15881            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15882            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15883            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15884            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15885            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15886              :                 {
   15887            0 :                   {
   15888            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15889            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15890            0 :                     if (res) return res;
   15891              :                   }
   15892              :                 }
   15893              :             }
   15894              :           break;
   15895            0 :         case CFN_COND_LEN_RDIV:
   15896            0 :           if (call_expr_nargs (_p1) == 6)
   15897              :     {
   15898            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15899            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15900            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15901            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15902            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15903            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15904            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15905              :                 {
   15906            0 :                   {
   15907            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15908            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15909            0 :                     if (res) return res;
   15910              :                   }
   15911              :                 }
   15912              :             }
   15913              :           break;
   15914            0 :         case CFN_COND_LEN_COPYSIGN:
   15915            0 :           if (call_expr_nargs (_p1) == 6)
   15916              :     {
   15917            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15918            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15919            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15920            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15921            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15922            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15923            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15924              :                 {
   15925            0 :                   {
   15926            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15927            0 :                     tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15928            0 :                     if (res) return res;
   15929              :                   }
   15930              :                 }
   15931              :             }
   15932              :           break;
   15933              :         default:;
   15934              :         }
   15935              :       break;
   15936       387873 :     default:;
   15937              :     }
   15938       387873 :   switch (TREE_CODE (_p2))
   15939              :     {
   15940            0 :     case VIEW_CONVERT_EXPR:
   15941            0 :       {
   15942            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15943            0 :         switch (TREE_CODE (_q40))
   15944              :           {
   15945            0 :           case CALL_EXPR:
   15946            0 :             switch (get_call_combined_fn (_q40))
   15947              :               {
   15948            0 :               case CFN_COND_LEN_ADD:
   15949            0 :                 if (call_expr_nargs (_q40) == 6)
   15950              :     {
   15951            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15952            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15953            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15954            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15955            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15956            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15957            0 :                     {
   15958            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15959            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15960            0 :                       if (res) return res;
   15961              :                     }
   15962              :                   }
   15963              :                 break;
   15964            0 :               case CFN_COND_LEN_AND:
   15965            0 :                 if (call_expr_nargs (_q40) == 6)
   15966              :     {
   15967            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15968            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15969            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15970            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15971            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15972            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15973            0 :                     {
   15974            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15975            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15976            0 :                       if (res) return res;
   15977              :                     }
   15978              :                   }
   15979              :                 break;
   15980            0 :               case CFN_COND_LEN_DIV:
   15981            0 :                 if (call_expr_nargs (_q40) == 6)
   15982              :     {
   15983            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15984            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15985            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15986            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15987            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15988            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15989            0 :                     {
   15990            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15991            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15992            0 :                       if (res) return res;
   15993              :                     }
   15994              :                   }
   15995              :                 break;
   15996            0 :               case CFN_COND_LEN_IOR:
   15997            0 :                 if (call_expr_nargs (_q40) == 6)
   15998              :     {
   15999            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16000            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16001            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16002            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16003            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16004            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16005            0 :                     {
   16006            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16007            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16008            0 :                       if (res) return res;
   16009              :                     }
   16010              :                   }
   16011              :                 break;
   16012            0 :               case CFN_COND_LEN_MAX:
   16013            0 :                 if (call_expr_nargs (_q40) == 6)
   16014              :     {
   16015            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16016            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16017            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16018            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16019            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16020            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16021            0 :                     {
   16022            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16023            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16024            0 :                       if (res) return res;
   16025              :                     }
   16026              :                   }
   16027              :                 break;
   16028            0 :               case CFN_COND_LEN_MIN:
   16029            0 :                 if (call_expr_nargs (_q40) == 6)
   16030              :     {
   16031            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16032            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16033            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16034            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16035            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16036            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16037            0 :                     {
   16038            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16039            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16040            0 :                       if (res) return res;
   16041              :                     }
   16042              :                   }
   16043              :                 break;
   16044            0 :               case CFN_COND_LEN_MOD:
   16045            0 :                 if (call_expr_nargs (_q40) == 6)
   16046              :     {
   16047            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16048            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16049            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16050            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16051            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16052            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16053            0 :                     {
   16054            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16055            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16056            0 :                       if (res) return res;
   16057              :                     }
   16058              :                   }
   16059              :                 break;
   16060            0 :               case CFN_COND_LEN_MUL:
   16061            0 :                 if (call_expr_nargs (_q40) == 6)
   16062              :     {
   16063            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16064            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16065            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16066            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16067            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16068            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16069            0 :                     {
   16070            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16071            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16072            0 :                       if (res) return res;
   16073              :                     }
   16074              :                   }
   16075              :                 break;
   16076            0 :               case CFN_COND_LEN_SHL:
   16077            0 :                 if (call_expr_nargs (_q40) == 6)
   16078              :     {
   16079            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16080            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16081            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16082            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16083            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16084            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16085            0 :                     {
   16086            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16087            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16088            0 :                       if (res) return res;
   16089              :                     }
   16090              :                   }
   16091              :                 break;
   16092            0 :               case CFN_COND_LEN_SHR:
   16093            0 :                 if (call_expr_nargs (_q40) == 6)
   16094              :     {
   16095            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16096            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16097            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16098            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16099            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16100            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16101            0 :                     {
   16102            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16103            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16104            0 :                       if (res) return res;
   16105              :                     }
   16106              :                   }
   16107              :                 break;
   16108            0 :               case CFN_COND_LEN_SUB:
   16109            0 :                 if (call_expr_nargs (_q40) == 6)
   16110              :     {
   16111            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16112            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16113            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16114            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16115            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16116            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16117            0 :                     {
   16118            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16119            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16120            0 :                       if (res) return res;
   16121              :                     }
   16122              :                   }
   16123              :                 break;
   16124            0 :               case CFN_COND_LEN_XOR:
   16125            0 :                 if (call_expr_nargs (_q40) == 6)
   16126              :     {
   16127            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16128            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16129            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16130            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16131            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16132            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16133            0 :                     {
   16134            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16135            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16136            0 :                       if (res) return res;
   16137              :                     }
   16138              :                   }
   16139              :                 break;
   16140            0 :               case CFN_COND_LEN_FMAX:
   16141            0 :                 if (call_expr_nargs (_q40) == 6)
   16142              :     {
   16143            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16144            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16145            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16146            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16147            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16148            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16149            0 :                     {
   16150            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16151            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16152            0 :                       if (res) return res;
   16153              :                     }
   16154              :                   }
   16155              :                 break;
   16156            0 :               case CFN_COND_LEN_FMIN:
   16157            0 :                 if (call_expr_nargs (_q40) == 6)
   16158              :     {
   16159            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16160            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16161            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16162            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16163            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16164            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16165            0 :                     {
   16166            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16167            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16168            0 :                       if (res) return res;
   16169              :                     }
   16170              :                   }
   16171              :                 break;
   16172            0 :               case CFN_COND_LEN_RDIV:
   16173            0 :                 if (call_expr_nargs (_q40) == 6)
   16174              :     {
   16175            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16176            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16177            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16178            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16179            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16180            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16181            0 :                     {
   16182            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16183            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16184            0 :                       if (res) return res;
   16185              :                     }
   16186              :                   }
   16187              :                 break;
   16188            0 :               case CFN_COND_LEN_COPYSIGN:
   16189            0 :                 if (call_expr_nargs (_q40) == 6)
   16190              :     {
   16191            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16192            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16193            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16194            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16195            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16196            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16197            0 :                     {
   16198            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16199            0 :                       tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16200            0 :                       if (res) return res;
   16201              :                     }
   16202              :                   }
   16203              :                 break;
   16204              :               default:;
   16205              :               }
   16206              :             break;
   16207              :           default:;
   16208              :           }
   16209              :         break;
   16210              :       }
   16211           12 :     case CALL_EXPR:
   16212           12 :       switch (get_call_combined_fn (_p2))
   16213              :         {
   16214            0 :         case CFN_COND_LEN_ADD:
   16215            0 :           if (call_expr_nargs (_p2) == 6)
   16216              :     {
   16217            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16218            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16219            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16220            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16221            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16222            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16223            0 :               {
   16224            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16225            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16226            0 :                 if (res) return res;
   16227              :               }
   16228              :             }
   16229              :           break;
   16230            0 :         case CFN_COND_LEN_AND:
   16231            0 :           if (call_expr_nargs (_p2) == 6)
   16232              :     {
   16233            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16234            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16235            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16236            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16237            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16238            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16239            0 :               {
   16240            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16241            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16242            0 :                 if (res) return res;
   16243              :               }
   16244              :             }
   16245              :           break;
   16246            0 :         case CFN_COND_LEN_DIV:
   16247            0 :           if (call_expr_nargs (_p2) == 6)
   16248              :     {
   16249            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16250            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16251            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16252            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16253            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16254            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16255            0 :               {
   16256            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16257            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16258            0 :                 if (res) return res;
   16259              :               }
   16260              :             }
   16261              :           break;
   16262            0 :         case CFN_COND_LEN_IOR:
   16263            0 :           if (call_expr_nargs (_p2) == 6)
   16264              :     {
   16265            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16266            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16267            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16268            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16269            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16270            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16271            0 :               {
   16272            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16273            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16274            0 :                 if (res) return res;
   16275              :               }
   16276              :             }
   16277              :           break;
   16278            0 :         case CFN_COND_LEN_MAX:
   16279            0 :           if (call_expr_nargs (_p2) == 6)
   16280              :     {
   16281            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16282            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16283            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16284            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16285            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16286            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16287            0 :               {
   16288            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16289            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16290            0 :                 if (res) return res;
   16291              :               }
   16292              :             }
   16293              :           break;
   16294            0 :         case CFN_COND_LEN_MIN:
   16295            0 :           if (call_expr_nargs (_p2) == 6)
   16296              :     {
   16297            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16298            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16299            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16300            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16301            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16302            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16303            0 :               {
   16304            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16305            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16306            0 :                 if (res) return res;
   16307              :               }
   16308              :             }
   16309              :           break;
   16310            0 :         case CFN_COND_LEN_MOD:
   16311            0 :           if (call_expr_nargs (_p2) == 6)
   16312              :     {
   16313            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16314            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16315            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16316            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16317            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16318            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16319            0 :               {
   16320            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16321            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16322            0 :                 if (res) return res;
   16323              :               }
   16324              :             }
   16325              :           break;
   16326            0 :         case CFN_COND_LEN_MUL:
   16327            0 :           if (call_expr_nargs (_p2) == 6)
   16328              :     {
   16329            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16330            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16331            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16332            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16333            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16334            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16335            0 :               {
   16336            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16337            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16338            0 :                 if (res) return res;
   16339              :               }
   16340              :             }
   16341              :           break;
   16342            0 :         case CFN_COND_LEN_SHL:
   16343            0 :           if (call_expr_nargs (_p2) == 6)
   16344              :     {
   16345            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16346            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16347            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16348            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16349            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16350            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16351            0 :               {
   16352            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16353            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16354            0 :                 if (res) return res;
   16355              :               }
   16356              :             }
   16357              :           break;
   16358            0 :         case CFN_COND_LEN_SHR:
   16359            0 :           if (call_expr_nargs (_p2) == 6)
   16360              :     {
   16361            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16362            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16363            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16364            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16365            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16366            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16367            0 :               {
   16368            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16369            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16370            0 :                 if (res) return res;
   16371              :               }
   16372              :             }
   16373              :           break;
   16374            0 :         case CFN_COND_LEN_SUB:
   16375            0 :           if (call_expr_nargs (_p2) == 6)
   16376              :     {
   16377            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16378            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16379            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16380            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16381            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16382            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16383            0 :               {
   16384            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16385            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16386            0 :                 if (res) return res;
   16387              :               }
   16388              :             }
   16389              :           break;
   16390            0 :         case CFN_COND_LEN_XOR:
   16391            0 :           if (call_expr_nargs (_p2) == 6)
   16392              :     {
   16393            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16394            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16395            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16396            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16397            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16398            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16399            0 :               {
   16400            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16401            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16402            0 :                 if (res) return res;
   16403              :               }
   16404              :             }
   16405              :           break;
   16406            0 :         case CFN_COND_LEN_FMAX:
   16407            0 :           if (call_expr_nargs (_p2) == 6)
   16408              :     {
   16409            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16410            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16411            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16412            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16413            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16414            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16415            0 :               {
   16416            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16417            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16418            0 :                 if (res) return res;
   16419              :               }
   16420              :             }
   16421              :           break;
   16422            0 :         case CFN_COND_LEN_FMIN:
   16423            0 :           if (call_expr_nargs (_p2) == 6)
   16424              :     {
   16425            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16426            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16427            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16428            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16429            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16430            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16431            0 :               {
   16432            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16433            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16434            0 :                 if (res) return res;
   16435              :               }
   16436              :             }
   16437              :           break;
   16438            0 :         case CFN_COND_LEN_RDIV:
   16439            0 :           if (call_expr_nargs (_p2) == 6)
   16440              :     {
   16441            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16442            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16443            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16444            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16445            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16446            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16447            0 :               {
   16448            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16449            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16450            0 :                 if (res) return res;
   16451              :               }
   16452              :             }
   16453              :           break;
   16454            0 :         case CFN_COND_LEN_COPYSIGN:
   16455            0 :           if (call_expr_nargs (_p2) == 6)
   16456              :     {
   16457            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16458            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16459            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16460            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16461            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16462            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16463            0 :               {
   16464            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16465            0 :                 tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16466            0 :                 if (res) return res;
   16467              :               }
   16468              :             }
   16469              :           break;
   16470              :         default:;
   16471              :         }
   16472              :       break;
   16473       387873 :     default:;
   16474              :     }
   16475       387873 :   switch (TREE_CODE (_p1))
   16476              :     {
   16477            0 :     case VIEW_CONVERT_EXPR:
   16478            0 :       {
   16479            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16480            0 :         switch (TREE_CODE (_q30))
   16481              :           {
   16482            0 :           case CALL_EXPR:
   16483            0 :             switch (get_call_combined_fn (_q30))
   16484              :               {
   16485            0 :               case CFN_COND_LEN_FMA:
   16486            0 :                 if (call_expr_nargs (_q30) == 7)
   16487              :     {
   16488            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16489            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16490            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16491            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16492            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16493            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16494            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16495            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16496              :                       {
   16497            0 :                         {
   16498            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16499            0 :                           tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16500            0 :                           if (res) return res;
   16501              :                         }
   16502              :                       }
   16503              :                   }
   16504              :                 break;
   16505            0 :               case CFN_COND_LEN_FMS:
   16506            0 :                 if (call_expr_nargs (_q30) == 7)
   16507              :     {
   16508            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16509            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16510            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16511            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16512            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16513            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16514            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16515            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16516              :                       {
   16517            0 :                         {
   16518            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16519            0 :                           tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16520            0 :                           if (res) return res;
   16521              :                         }
   16522              :                       }
   16523              :                   }
   16524              :                 break;
   16525            0 :               case CFN_COND_LEN_FNMA:
   16526            0 :                 if (call_expr_nargs (_q30) == 7)
   16527              :     {
   16528            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16529            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16530            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16531            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16532            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16533            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16534            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16535            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16536              :                       {
   16537            0 :                         {
   16538            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16539            0 :                           tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16540            0 :                           if (res) return res;
   16541              :                         }
   16542              :                       }
   16543              :                   }
   16544              :                 break;
   16545            0 :               case CFN_COND_LEN_FNMS:
   16546            0 :                 if (call_expr_nargs (_q30) == 7)
   16547              :     {
   16548            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16549            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16550            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16551            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16552            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16553            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16554            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16555            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16556              :                       {
   16557            0 :                         {
   16558            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16559            0 :                           tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16560            0 :                           if (res) return res;
   16561              :                         }
   16562              :                       }
   16563              :                   }
   16564              :                 break;
   16565              :               default:;
   16566              :               }
   16567              :             break;
   16568              :           default:;
   16569              :           }
   16570              :         break;
   16571              :       }
   16572           12 :     case CALL_EXPR:
   16573           12 :       switch (get_call_combined_fn (_p1))
   16574              :         {
   16575            0 :         case CFN_COND_LEN_FMA:
   16576            0 :           if (call_expr_nargs (_p1) == 7)
   16577              :     {
   16578            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16579            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16580            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16581            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16582            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16583            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16584            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16585            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16586              :                 {
   16587            0 :                   {
   16588            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16589            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16590            0 :                     if (res) return res;
   16591              :                   }
   16592              :                 }
   16593              :             }
   16594              :           break;
   16595            0 :         case CFN_COND_LEN_FMS:
   16596            0 :           if (call_expr_nargs (_p1) == 7)
   16597              :     {
   16598            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16599            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16600            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16601            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16602            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16603            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16604            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16605            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16606              :                 {
   16607            0 :                   {
   16608            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16609            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16610            0 :                     if (res) return res;
   16611              :                   }
   16612              :                 }
   16613              :             }
   16614              :           break;
   16615            0 :         case CFN_COND_LEN_FNMA:
   16616            0 :           if (call_expr_nargs (_p1) == 7)
   16617              :     {
   16618            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16619            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16620            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16621            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16622            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16623            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16624            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16625            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16626              :                 {
   16627            0 :                   {
   16628            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16629            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16630            0 :                     if (res) return res;
   16631              :                   }
   16632              :                 }
   16633              :             }
   16634              :           break;
   16635            0 :         case CFN_COND_LEN_FNMS:
   16636            0 :           if (call_expr_nargs (_p1) == 7)
   16637              :     {
   16638            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16639            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16640            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16641            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16642            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16643            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16644            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16645            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16646              :                 {
   16647            0 :                   {
   16648            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16649            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16650            0 :                     if (res) return res;
   16651              :                   }
   16652              :                 }
   16653              :             }
   16654              :           break;
   16655              :         default:;
   16656              :         }
   16657              :       break;
   16658       387873 :     default:;
   16659              :     }
   16660       387873 :   switch (TREE_CODE (_p2))
   16661              :     {
   16662            0 :     case VIEW_CONVERT_EXPR:
   16663            0 :       {
   16664            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16665            0 :         switch (TREE_CODE (_q40))
   16666              :           {
   16667            0 :           case CALL_EXPR:
   16668            0 :             switch (get_call_combined_fn (_q40))
   16669              :               {
   16670            0 :               case CFN_COND_LEN_FMA:
   16671            0 :                 if (call_expr_nargs (_q40) == 7)
   16672              :     {
   16673            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16674            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16675            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16676            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16677            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16678            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16679            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16680            0 :                     {
   16681            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16682            0 :                       tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16683            0 :                       if (res) return res;
   16684              :                     }
   16685              :                   }
   16686              :                 break;
   16687            0 :               case CFN_COND_LEN_FMS:
   16688            0 :                 if (call_expr_nargs (_q40) == 7)
   16689              :     {
   16690            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16691            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16692            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16693            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16694            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16695            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16696            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16697            0 :                     {
   16698            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16699            0 :                       tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16700            0 :                       if (res) return res;
   16701              :                     }
   16702              :                   }
   16703              :                 break;
   16704            0 :               case CFN_COND_LEN_FNMA:
   16705            0 :                 if (call_expr_nargs (_q40) == 7)
   16706              :     {
   16707            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16708            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16709            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16710            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16711            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16712            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16713            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16714            0 :                     {
   16715            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16716            0 :                       tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16717            0 :                       if (res) return res;
   16718              :                     }
   16719              :                   }
   16720              :                 break;
   16721            0 :               case CFN_COND_LEN_FNMS:
   16722            0 :                 if (call_expr_nargs (_q40) == 7)
   16723              :     {
   16724            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16725            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16726            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16727            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16728            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16729            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16730            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16731            0 :                     {
   16732            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16733            0 :                       tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16734            0 :                       if (res) return res;
   16735              :                     }
   16736              :                   }
   16737              :                 break;
   16738              :               default:;
   16739              :               }
   16740              :             break;
   16741              :           default:;
   16742              :           }
   16743              :         break;
   16744              :       }
   16745           12 :     case CALL_EXPR:
   16746           12 :       switch (get_call_combined_fn (_p2))
   16747              :         {
   16748            0 :         case CFN_COND_LEN_FMA:
   16749            0 :           if (call_expr_nargs (_p2) == 7)
   16750              :     {
   16751            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16752            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16753            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16754            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16755            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16756            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16757            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16758            0 :               {
   16759            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16760            0 :                 tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16761            0 :                 if (res) return res;
   16762              :               }
   16763              :             }
   16764              :           break;
   16765            0 :         case CFN_COND_LEN_FMS:
   16766            0 :           if (call_expr_nargs (_p2) == 7)
   16767              :     {
   16768            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16769            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16770            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16771            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16772            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16773            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16774            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16775            0 :               {
   16776            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16777            0 :                 tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16778            0 :                 if (res) return res;
   16779              :               }
   16780              :             }
   16781              :           break;
   16782            0 :         case CFN_COND_LEN_FNMA:
   16783            0 :           if (call_expr_nargs (_p2) == 7)
   16784              :     {
   16785            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16786            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16787            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16788            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16789            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16790            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16791            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16792            0 :               {
   16793            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16794            0 :                 tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16795            0 :                 if (res) return res;
   16796              :               }
   16797              :             }
   16798              :           break;
   16799            0 :         case CFN_COND_LEN_FNMS:
   16800            0 :           if (call_expr_nargs (_p2) == 7)
   16801              :     {
   16802            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16803            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16804            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16805            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16806            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16807            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16808            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16809            0 :               {
   16810            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16811            0 :                 tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16812            0 :                 if (res) return res;
   16813              :               }
   16814              :             }
   16815              :           break;
   16816              :         default:;
   16817              :         }
   16818              :       break;
   16819       387873 :     default:;
   16820              :     }
   16821       387873 :   switch (TREE_CODE (_p1))
   16822              :     {
   16823           12 :     case CALL_EXPR:
   16824           12 :       switch (get_call_combined_fn (_p1))
   16825              :         {
   16826            0 :         case CFN_COND_ADD:
   16827            0 :           if (call_expr_nargs (_p1) == 4)
   16828              :     {
   16829            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16830            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16831            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16832            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16833            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16834              :                 {
   16835            0 :                   {
   16836            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16837            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16838            0 :                     if (res) return res;
   16839              :                   }
   16840              :                 }
   16841              :             }
   16842              :           break;
   16843            0 :         case CFN_COND_AND:
   16844            0 :           if (call_expr_nargs (_p1) == 4)
   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 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16851              :                 {
   16852            0 :                   {
   16853            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16854            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16855            0 :                     if (res) return res;
   16856              :                   }
   16857              :                 }
   16858              :             }
   16859              :           break;
   16860            0 :         case CFN_COND_DIV:
   16861            0 :           if (call_expr_nargs (_p1) == 4)
   16862              :     {
   16863            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16864            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16865            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16866            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16867            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16868              :                 {
   16869            0 :                   {
   16870            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16871            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16872            0 :                     if (res) return res;
   16873              :                   }
   16874              :                 }
   16875              :             }
   16876              :           break;
   16877            0 :         case CFN_COND_FMA:
   16878            0 :           if (call_expr_nargs (_p1) == 5)
   16879              :     {
   16880            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16881            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16882            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16883            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16884            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16885            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16886              :                 {
   16887            0 :                   {
   16888            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16889            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16890            0 :                     if (res) return res;
   16891              :                   }
   16892              :                 }
   16893              :             }
   16894              :           break;
   16895            0 :         case CFN_COND_FMS:
   16896            0 :           if (call_expr_nargs (_p1) == 5)
   16897              :     {
   16898            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16899            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16900            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16901            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16902            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16903            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16904              :                 {
   16905            0 :                   {
   16906            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16907            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16908            0 :                     if (res) return res;
   16909              :                   }
   16910              :                 }
   16911              :             }
   16912              :           break;
   16913            0 :         case CFN_COND_IOR:
   16914            0 :           if (call_expr_nargs (_p1) == 4)
   16915              :     {
   16916            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16917            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16918            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16919            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16920            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16921              :                 {
   16922            0 :                   {
   16923            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16924            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16925            0 :                     if (res) return res;
   16926              :                   }
   16927              :                 }
   16928              :             }
   16929              :           break;
   16930            0 :         case CFN_COND_MAX:
   16931            0 :           if (call_expr_nargs (_p1) == 4)
   16932              :     {
   16933            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16934            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16935            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16936            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16937            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16938              :                 {
   16939            0 :                   {
   16940            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16941            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16942            0 :                     if (res) return res;
   16943              :                   }
   16944              :                 }
   16945              :             }
   16946              :           break;
   16947            0 :         case CFN_COND_MIN:
   16948            0 :           if (call_expr_nargs (_p1) == 4)
   16949              :     {
   16950            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16951            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16952            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16953            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16954            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16955              :                 {
   16956            0 :                   {
   16957            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16958            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16959            0 :                     if (res) return res;
   16960              :                   }
   16961              :                 }
   16962              :             }
   16963              :           break;
   16964            0 :         case CFN_COND_MOD:
   16965            0 :           if (call_expr_nargs (_p1) == 4)
   16966              :     {
   16967            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16968            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16969            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16970            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16971            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16972              :                 {
   16973            0 :                   {
   16974            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16975            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16976            0 :                     if (res) return res;
   16977              :                   }
   16978              :                 }
   16979              :             }
   16980              :           break;
   16981            0 :         case CFN_COND_MUL:
   16982            0 :           if (call_expr_nargs (_p1) == 4)
   16983              :     {
   16984            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16985            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16986            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16987            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16988            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16989              :                 {
   16990            0 :                   {
   16991            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16992            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16993            0 :                     if (res) return res;
   16994              :                   }
   16995              :                 }
   16996              :             }
   16997              :           break;
   16998            0 :         case CFN_COND_SHL:
   16999            0 :           if (call_expr_nargs (_p1) == 4)
   17000              :     {
   17001            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17002            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17003            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17004            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17005            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17006              :                 {
   17007            0 :                   {
   17008            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17009            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   17010            0 :                     if (res) return res;
   17011              :                   }
   17012              :                 }
   17013              :             }
   17014              :           break;
   17015            0 :         case CFN_COND_SHR:
   17016            0 :           if (call_expr_nargs (_p1) == 4)
   17017              :     {
   17018            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17019            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17020            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17021            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17022            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17023              :                 {
   17024            0 :                   {
   17025            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17026            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   17027            0 :                     if (res) return res;
   17028              :                   }
   17029              :                 }
   17030              :             }
   17031              :           break;
   17032            0 :         case CFN_COND_SUB:
   17033            0 :           if (call_expr_nargs (_p1) == 4)
   17034              :     {
   17035            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17036            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17037            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17038            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17039            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17040              :                 {
   17041            0 :                   {
   17042            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17043            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   17044            0 :                     if (res) return res;
   17045              :                   }
   17046              :                 }
   17047              :             }
   17048              :           break;
   17049            0 :         case CFN_COND_XOR:
   17050            0 :           if (call_expr_nargs (_p1) == 4)
   17051              :     {
   17052            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17053            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17054            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17055            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17056            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17057              :                 {
   17058            0 :                   {
   17059            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17060            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   17061            0 :                     if (res) return res;
   17062              :                   }
   17063              :                 }
   17064              :             }
   17065              :           break;
   17066            0 :         case CFN_COND_COPYSIGN:
   17067            0 :           if (call_expr_nargs (_p1) == 4)
   17068              :     {
   17069            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17070            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17071            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17072            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17073            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17074              :                 {
   17075            0 :                   {
   17076            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17077            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   17078            0 :                     if (res) return res;
   17079              :                   }
   17080              :                 }
   17081              :             }
   17082              :           break;
   17083            0 :         case CFN_COND_FMAX:
   17084            0 :           if (call_expr_nargs (_p1) == 4)
   17085              :     {
   17086            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17087            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17088            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17089            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17090            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17091              :                 {
   17092            0 :                   {
   17093            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17094            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   17095            0 :                     if (res) return res;
   17096              :                   }
   17097              :                 }
   17098              :             }
   17099              :           break;
   17100            0 :         case CFN_COND_FMIN:
   17101            0 :           if (call_expr_nargs (_p1) == 4)
   17102              :     {
   17103            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17104            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17105            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17106            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17107            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17108              :                 {
   17109            0 :                   {
   17110            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17111            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   17112            0 :                     if (res) return res;
   17113              :                   }
   17114              :                 }
   17115              :             }
   17116              :           break;
   17117            0 :         case CFN_COND_FNMA:
   17118            0 :           if (call_expr_nargs (_p1) == 5)
   17119              :     {
   17120            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17121            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17122            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17123            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17124            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17125            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17126              :                 {
   17127            0 :                   {
   17128            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17129            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   17130            0 :                     if (res) return res;
   17131              :                   }
   17132              :                 }
   17133              :             }
   17134              :           break;
   17135            0 :         case CFN_COND_FNMS:
   17136            0 :           if (call_expr_nargs (_p1) == 5)
   17137              :     {
   17138            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17139            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17140            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17141            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17142            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17143            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17144              :                 {
   17145            0 :                   {
   17146            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17147            0 :                     tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   17148            0 :                     if (res) return res;
   17149              :                   }
   17150              :                 }
   17151              :             }
   17152              :           break;
   17153            0 :         case CFN_COND_RDIV:
   17154            0 :           if (call_expr_nargs (_p1) == 4)
   17155              :     {
   17156            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17157            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17158            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17159            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17160            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17161              :                 {
   17162            0 :                   {
   17163            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17164            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   17165            0 :                     if (res) return res;
   17166              :                   }
   17167              :                 }
   17168              :             }
   17169              :           break;
   17170              :         default:;
   17171              :         }
   17172              :       break;
   17173              :     default:;
   17174              :     }
   17175              :   return NULL_TREE;
   17176              : }
   17177              : #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.