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: 34.7 % 10861 3766
Test Date: 2026-05-30 15:37:04 Functions: 67.5 % 83 56
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   1108013006 : tree_nop_convert (tree t, tree *res_ops)
      11              : {
      12   1108013006 :   const tree type = TREE_TYPE (t);
      13   1108013006 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14   1108013006 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15   1063734142 :   switch (TREE_CODE (t))
      16              :     {
      17    215349582 :     CASE_CONVERT:
      18    215349582 :       {
      19    215349582 :         tree _p0 = TREE_OPERAND (t, 0);
      20    215349582 :         {
      21    215349582 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      22    215349582 :           if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
      23              : )
      24              :             {
      25    173676662 :               {
      26    173676662 :                 res_ops[0] = captures[0];
      27    173676662 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 0, __FILE__, __LINE__, false);
      28    173676662 :                 return true;
      29              :               }
      30              :             }
      31              :         }
      32              :         break;
      33              :       }
      34      4515471 :     case VIEW_CONVERT_EXPR:
      35      4515471 :       {
      36      4515471 :         tree _p0 = TREE_OPERAND (t, 0);
      37      4515471 :         {
      38      4515471 :           tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      39      3208993 :           if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[0]))
      40      3208975 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
      41              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[0])))
      42      6733013 :  && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[0])))
      43              : )
      44              :             {
      45      2217536 :               {
      46      2217536 :                 res_ops[0] = captures[0];
      47      2217536 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1, __FILE__, __LINE__, false);
      48      2217536 :                 return true;
      49              :               }
      50              :             }
      51              :         }
      52      2297935 :         break;
      53              :       }
      54              :     default:;
      55              :     }
      56              :   return false;
      57              : }
      58              : 
      59              : bool
      60     87554206 : tree_with_known_nonzero_bits (tree t)
      61              : {
      62     87554206 :   const tree type = TREE_TYPE (t);
      63     87554206 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      64     87554206 :   if (TREE_SIDE_EFFECTS (t)) return false;
      65     82547567 :   switch (TREE_CODE (t))
      66              :     {
      67       273203 :     case BIT_IOR_EXPR:
      68       273203 :       {
      69       273203 :         tree _p0 = TREE_OPERAND (t, 0);
      70       273203 :         tree _p1 = TREE_OPERAND (t, 1);
      71       273203 :         if (tree_with_known_nonzero_bits_1 (_p0))
      72              :           {
      73       265692 :             {
      74       265692 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      75       265692 :               {
      76       265692 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 39, __FILE__, __LINE__, false);
      77       265692 :                 return true;
      78              :               }
      79              :             }
      80              :           }
      81         7511 :         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     82281689 :     default:;
      94              :     }
      95     82281689 : if (tree_with_known_nonzero_bits_1 (t))
      96              :   {
      97     39386395 :     {
      98     39386395 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      99     39386395 :       {
     100     39386395 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 40, __FILE__, __LINE__, false);
     101     39386395 :         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          112 : 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          112 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     194          112 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail104;
     195          112 :   {
     196          112 :     tree res_op0;
     197          112 :     {
     198          112 :       tree _o1[1], _r1;
     199          112 :       _o1[0] = captures[1];
     200          112 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     201          112 :       res_op0 = _r1;
     202              :     }
     203          112 :     tree res_op1;
     204          112 :     res_op1 = captures[2];
     205          112 :     tree _r;
     206          112 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
     207          112 :     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       240629 : 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       240629 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     222       240629 :   {
     223       240629 :  bool wascmp;
     224       240629 :       if (bitwise_inverted_equal_p (captures[2], captures[0], wascmp)
     225       240629 :  && (!wascmp || element_precision (type) == 1)
     226              : )
     227              :         {
     228           12 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail109;
     229           12 :           {
     230           12 :             tree res_op0;
     231           12 :             res_op0 = captures[2];
     232           12 :             tree res_op1;
     233           12 :             res_op1 = captures[1];
     234           12 :             tree _r;
     235           12 :             _r = fold_build2_loc (loc, resbitop, type, res_op0, res_op1);
     236           12 :             if (TREE_SIDE_EFFECTS (captures[0]))
     237            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     238           12 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 81, __FILE__, __LINE__, true);
     239           12 :             return _r;
     240              :           }
     241            0 : next_after_fail109:;
     242              :         }
     243              :   }
     244       240617 :   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          832 : 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          832 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     356          832 :   if (!TYPE_SATURATING (type)
     357              : )
     358              :     {
     359          832 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     360         1664 :  && !FIXED_POINT_TYPE_P (type)
     361              : )
     362              :         {
     363          832 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail154;
     364          832 :           {
     365          832 :             tree res_op0;
     366          832 :             res_op0 = captures[2];
     367          832 :             tree res_op1;
     368          832 :             res_op1 = captures[1];
     369          832 :             tree _r;
     370          832 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     371          832 :             if (TREE_SIDE_EFFECTS (captures[0]))
     372            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     373          832 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 122, __FILE__, __LINE__, true);
     374          832 :             return _r;
     375              :           }
     376            0 : next_after_fail154:;
     377              :         }
     378              :     }
     379              :   return NULL_TREE;
     380              : }
     381              : 
     382              : tree
     383         9642 : 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         9642 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     388         9642 :   if (!TYPE_SATURATING (type)
     389         9642 :  && (!FLOAT_TYPE_P (type) || flag_associative_math)
     390              : )
     391              :     {
     392         9476 :       if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
     393              : )
     394              :         {
     395            4 :           if ((!ANY_INTEGRAL_TYPE_P (type)
     396         9472 :  || TYPE_OVERFLOW_WRAPS (type)
     397         3283 :  || (INTEGRAL_TYPE_P (type)
     398         3283 :  && ((tree_expr_nonzero_p (captures[0])
     399          136 :  && expr_not_equal_to (captures[0],
     400         9612 :  wi::minus_one (TYPE_PRECISION (type)),
     401              :  gimple_match_ctx (captures[1])))
     402              :  || (plusminus == PLUS_EXPR
     403         3147 :  ? expr_not_equal_to (captures[2],
     404         9494 :  wi::max_value (TYPE_PRECISION (type), SIGNED),
     405              :  gimple_match_ctx (captures[1]))
     406         3129 :  : (expr_not_equal_to (captures[2],
     407        12605 :  wi::min_value (TYPE_PRECISION (type), SIGNED),
     408              :  gimple_match_ctx (captures[1]))
     409         3105 :  && expr_not_equal_to (captures[2],
     410         6210 :  wi::min_value (TYPE_PRECISION (type), SIGNED)
     411        18791 :  + 1, gimple_match_ctx (captures[1])))))))
     412        12623 :  && single_use (captures[1])
     413              : )
     414              :             {
     415         9452 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail162;
     416         9452 :               {
     417         9452 :                 tree res_op0;
     418         9452 :                 {
     419         9452 :                   tree _o1[2], _r1;
     420         9452 :                   _o1[0] =  build_one_cst (type);
     421         9452 :                   _o1[1] = captures[2];
     422         9452 :                   _r1 = fold_build2_loc (loc, plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     423         9452 :                   res_op0 = _r1;
     424              :                 }
     425         9452 :                 tree res_op1;
     426         9452 :                 res_op1 = captures[0];
     427         9452 :                 tree _r;
     428         9452 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
     429         9452 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 130, __FILE__, __LINE__, true);
     430         9452 :                 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        11119 : 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        11119 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     524        11119 :   if (!TYPE_SATURATING (type)
     525              : )
     526              :     {
     527        11119 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     528        22238 :  && !FIXED_POINT_TYPE_P (type)
     529              : )
     530              :         {
     531        11119 :           if (element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     532        11119 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     533         2988 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
     534              : )
     535              :             {
     536        10999 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail198;
     537        10999 :               {
     538        10999 :                 tree res_op0;
     539        10999 :                 res_op0 = captures[1];
     540        10999 :                 tree _r;
     541        10999 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     542        10999 :                 if (TREE_SIDE_EFFECTS (captures[2]))
     543           15 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     544        10999 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 165, __FILE__, __LINE__, true);
     545        10999 :                 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        19817 : 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        19817 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     597        19817 :   {
     598        19817 :  bool wascmp;
     599        19817 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
     600        19817 :  && (!wascmp || element_precision (type) == 1)
     601              : )
     602              :         {
     603            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail212;
     604            1 :           {
     605            1 :             tree res_op0;
     606            1 :             res_op0 = captures[0];
     607            1 :             tree res_op1;
     608            1 :             {
     609            1 :               tree _o1[1], _r1;
     610            1 :               _o1[0] = captures[3];
     611            1 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     612            1 :               res_op1 = _r1;
     613              :             }
     614            1 :             tree _r;
     615            1 :             _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     616            1 :             if (TREE_SIDE_EFFECTS (captures[2]))
     617            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
     618            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 179, __FILE__, __LINE__, true);
     619            1 :             return _r;
     620              :           }
     621            0 : next_after_fail212:;
     622              :         }
     623              :   }
     624        19816 :   return NULL_TREE;
     625              : }
     626              : 
     627              : tree
     628            2 : generic_simplify_124 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     629              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     630              : {
     631            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     632            2 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail221;
     633            2 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail221;
     634            2 :   {
     635            2 :     tree res_op0;
     636            2 :     res_op0 = captures[0];
     637            2 :     tree res_op1;
     638            2 :     res_op1 = captures[3];
     639            2 :     tree _r;
     640            2 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     641            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     642              :     return _r;
     643              :   }
     644              : next_after_fail221:;
     645              :   return NULL_TREE;
     646              : }
     647              : 
     648              : tree
     649            0 : generic_simplify_135 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     650              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     651              :  const enum tree_code ARG_UNUSED (op))
     652              : {
     653            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     654            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail232;
     655            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail232;
     656            0 :   {
     657            0 :     tree _r;
     658            0 :     _r = captures[0];
     659            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 183, __FILE__, __LINE__, true);
     660              :     return _r;
     661              :   }
     662              : next_after_fail232:;
     663              :   return NULL_TREE;
     664              : }
     665              : 
     666              : tree
     667            0 : generic_simplify_144 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     668              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     669              :  const enum tree_code ARG_UNUSED (bitop),
     670              :  const enum tree_code ARG_UNUSED (rbitop))
     671              : {
     672            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     673            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail245;
     674            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail245;
     675            0 :   {
     676            0 :     tree _r;
     677            0 :     _r = captures[2];
     678            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     679            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     680            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
     681              :     return _r;
     682              :   }
     683              : next_after_fail245:;
     684              :   return NULL_TREE;
     685              : }
     686              : 
     687              : tree
     688            0 : generic_simplify_150 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     689              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     690              :  const enum tree_code ARG_UNUSED (op))
     691              : {
     692            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     693            0 :   if (bitwise_equal_p (captures[4], captures[7])
     694              : )
     695              :     {
     696            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail252;
     697            0 :       {
     698            0 :         tree res_op0;
     699            0 :         {
     700            0 :           tree _o1[2], _r1;
     701            0 :           {
     702            0 :             tree _o2[2], _r2;
     703            0 :             _o2[0] = captures[5];
     704            0 :             {
     705            0 :               tree _o3[1], _r3;
     706            0 :               _o3[0] = captures[6];
     707            0 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     708              :                 {
     709            0 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     710              :                 }
     711              :               else
     712              :                 _r3 = _o3[0];
     713            0 :               _o2[1] = _r3;
     714              :             }
     715            0 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     716            0 :             _o1[0] = _r2;
     717              :           }
     718            0 :           {
     719            0 :             tree _o2[1], _r2;
     720            0 :             _o2[0] = captures[4];
     721            0 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     722              :               {
     723            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     724              :               }
     725              :             else
     726              :               _r2 = _o2[0];
     727            0 :             _o1[1] = _r2;
     728              :           }
     729            0 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     730            0 :           res_op0 = _r1;
     731              :         }
     732            0 :         tree _r;
     733            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     734            0 :         if (TREE_SIDE_EFFECTS (captures[7]))
     735            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     736            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
     737            0 :         return _r;
     738              :       }
     739            0 : next_after_fail252:;
     740              :     }
     741              :   return NULL_TREE;
     742              : }
     743              : 
     744              : tree
     745            0 : generic_simplify_163 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     746              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     747              : {
     748            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     749            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail286;
     750            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail286;
     751            0 :   {
     752            0 :     tree _r;
     753            0 :     _r =  constant_boolean_node (true, type);
     754            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
     755            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     756            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 227, __FILE__, __LINE__, true);
     757              :     return _r;
     758              :   }
     759              : next_after_fail286:;
     760              :   return NULL_TREE;
     761              : }
     762              : 
     763              : tree
     764          429 : generic_simplify_167 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     765              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     766              :  const enum tree_code ARG_UNUSED (code2),
     767              :  const enum tree_code ARG_UNUSED (code1))
     768              : {
     769          429 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     770          429 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     771          405 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     772          429 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     773            1 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     774            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     775           24 :  && bitwise_equal_p (captures[2], captures[5]))
     776              : )
     777              :     {
     778          405 :       {
     779          405 :  bool one_before = false;
     780          405 :  bool one_after = false;
     781          405 :  int cmp = 0;
     782          405 :  bool allbits = true;
     783          405 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     784          405 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     785              :  {
     786          405 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     787          405 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     788          405 :  auto t2 = wi::to_wide (captures[5]);
     789          405 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     790          405 :  if (cmp < 0
     791          405 :  && t1 == t2 - 1)
     792              :  one_before = true;
     793          405 :  if (cmp > 0
     794          405 :  && t1 == t2 + 1)
     795              :  one_after = true;
     796              :  }
     797          405 :  bool val;
     798          405 :  switch (code2)
     799              :  {
     800          396 :  case EQ_EXPR: val = (cmp == 0); break;
     801            0 :  case NE_EXPR: val = (cmp != 0); break;
     802            0 :  case LT_EXPR: val = (cmp < 0); break;
     803            9 :  case GT_EXPR: val = (cmp > 0); break;
     804            0 :  case LE_EXPR: val = (cmp <= 0); break;
     805            0 :  case GE_EXPR: val = (cmp >= 0); break;
     806            0 :  default: gcc_unreachable ();
     807              :  }
     808          405 :           if (code1 == EQ_EXPR && val
     809              : )
     810              :             {
     811            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail297;
     812            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail297;
     813            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail297;
     814            0 :               {
     815            0 :                 tree _r;
     816            0 :                 _r = captures[3];
     817            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 211, __FILE__, __LINE__, true);
     818            0 :                 return _r;
     819              :               }
     820              : next_after_fail297:;
     821              :             }
     822              :           else
     823              :             {
     824          405 :               if (code1 == NE_EXPR && val && allbits
     825              : )
     826              :                 {
     827            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail298;
     828            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail298;
     829            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail298;
     830            0 :                   {
     831            0 :                     tree _r;
     832            0 :                     _r =  constant_boolean_node (true, type);
     833            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     834            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     835            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
     836            0 :                     return _r;
     837              :                   }
     838              : next_after_fail298:;
     839              :                 }
     840              :               else
     841              :                 {
     842          405 :                   if (code1 == NE_EXPR && !val && allbits
     843              : )
     844              :                     {
     845            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail299;
     846            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail299;
     847            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
     848            0 :                       {
     849            0 :                         tree _r;
     850            0 :                         _r = captures[0];
     851            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     852            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     853            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
     854            0 :                         return _r;
     855              :                       }
     856              : next_after_fail299:;
     857              :                     }
     858              :                   else
     859              :                     {
     860          405 :                       if (code1 == EQ_EXPR
     861          405 :  && code2 == GT_EXPR
     862            9 :  && cmp == 0
     863            9 :  && allbits
     864          405 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     865            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     866            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     867              : )
     868              :                         {
     869            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail300;
     870            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail300;
     871            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail300;
     872            0 :                           {
     873            0 :                             tree res_op0;
     874            0 :                             res_op0 = captures[4];
     875            0 :                             tree res_op1;
     876            0 :                             res_op1 = captures[5];
     877            0 :                             tree _r;
     878            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     879            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
     880            0 :                             return _r;
     881              :                           }
     882              : next_after_fail300:;
     883              :                         }
     884              :                       else
     885              :                         {
     886          405 :                           if (code1 == EQ_EXPR
     887          405 :  && code2 == LT_EXPR
     888            0 :  && cmp == 0
     889            0 :  && allbits
     890          405 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     891            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     892            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     893              : )
     894              :                             {
     895            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail301;
     896            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail301;
     897            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail301;
     898            0 :                               {
     899            0 :                                 tree res_op0;
     900            0 :                                 res_op0 = captures[4];
     901            0 :                                 tree res_op1;
     902            0 :                                 res_op1 = captures[5];
     903            0 :                                 tree _r;
     904            0 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     905            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
     906            0 :                                 return _r;
     907              :                               }
     908              : next_after_fail301:;
     909              :                             }
     910              :                           else
     911              :                             {
     912          405 :                               if (code1 == EQ_EXPR
     913          405 :  && code2 == GE_EXPR
     914              :  && one_before
     915            0 :  && allbits
     916          405 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     917            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     918            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     919              : )
     920              :                                 {
     921            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail302;
     922            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail302;
     923            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail302;
     924            0 :                                   {
     925            0 :                                     tree res_op0;
     926            0 :                                     res_op0 = captures[4];
     927            0 :                                     tree res_op1;
     928            0 :                                     {
     929            0 :                                       tree _o1[1], _r1;
     930            0 :                                       _o1[0] = captures[2];
     931            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     932              :                                         {
     933            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     934              :                                         }
     935              :                                       else
     936              :                                         _r1 = _o1[0];
     937            0 :                                       res_op1 = _r1;
     938              :                                     }
     939            0 :                                     tree _r;
     940            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     941            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
     942            0 :                                     return _r;
     943              :                                   }
     944              : next_after_fail302:;
     945              :                                 }
     946              :                               else
     947              :                                 {
     948          405 :                                   if (code1 == EQ_EXPR
     949          405 :  && code2 == LE_EXPR
     950              :  && one_after
     951            0 :  && allbits
     952          405 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     953            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     954            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     955              : )
     956              :                                     {
     957            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail303;
     958            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail303;
     959            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail303;
     960            0 :                                       {
     961            0 :                                         tree res_op0;
     962            0 :                                         res_op0 = captures[4];
     963            0 :                                         tree res_op1;
     964            0 :                                         {
     965            0 :                                           tree _o1[1], _r1;
     966            0 :                                           _o1[0] = captures[2];
     967            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     968              :                                             {
     969            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     970              :                                             }
     971              :                                           else
     972              :                                             _r1 = _o1[0];
     973            0 :                                           res_op1 = _r1;
     974              :                                         }
     975            0 :                                         tree _r;
     976            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     977            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
     978            0 :                                         return _r;
     979              :                                       }
     980              : next_after_fail303:;
     981              :                                     }
     982              :                                 }
     983              :                             }
     984              :                         }
     985              :                     }
     986              :                 }
     987              :             }
     988              :       }
     989              :     }
     990              :   return NULL_TREE;
     991              : }
     992              : 
     993              : tree
     994           31 : generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     995              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     996              :  const enum tree_code ARG_UNUSED (cmp),
     997              :  const enum tree_code ARG_UNUSED (icmp))
     998              : {
     999           31 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1000           62 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1001           29 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1002           13 :  && type_has_mode_precision_p (TREE_TYPE (captures[0]))
    1003           13 :  && types_match (captures[0], captures[2])
    1004           13 :  && tree_fits_shwi_p (captures[1])
    1005           13 :  && tree_to_shwi (captures[1]) > 0
    1006           44 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    1007              : )
    1008              :     {
    1009           13 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail355;
    1010           13 :       {
    1011           13 :         tree res_op0;
    1012           13 :         {
    1013           13 :           tree _o1[2], _r1;
    1014           13 :           _o1[0] = captures[0];
    1015           13 :           _o1[1] = captures[2];
    1016           13 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1017           13 :           res_op0 = _r1;
    1018              :         }
    1019           13 :         tree res_op1;
    1020           13 :         {
    1021           13 :           tree _o1[2], _r1;
    1022           13 :           _o1[0] =  build_one_cst (TREE_TYPE (captures[0]));
    1023           13 :           _o1[1] = captures[1];
    1024           13 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1025           13 :           res_op1 = _r1;
    1026              :         }
    1027           13 :         tree _r;
    1028           13 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1029           13 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 269, __FILE__, __LINE__, true);
    1030           13 :         return _r;
    1031              :       }
    1032            0 : next_after_fail355:;
    1033              :     }
    1034              :   return NULL_TREE;
    1035              : }
    1036              : 
    1037              : tree
    1038           43 : generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1039              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1040              :  const enum tree_code ARG_UNUSED (op))
    1041              : {
    1042           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1043           43 :   if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
    1044              : )
    1045              :     {
    1046           43 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail376;
    1047           43 :       {
    1048           43 :         tree res_op0;
    1049           43 :         res_op0 = captures[1];
    1050           43 :         tree res_op1;
    1051           43 :         res_op1 = captures[3];
    1052           43 :         tree _r;
    1053           43 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1054           43 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1055            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1056           43 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 290, __FILE__, __LINE__, true);
    1057           43 :         return _r;
    1058              :       }
    1059            0 : next_after_fail376:;
    1060              :     }
    1061              :   return NULL_TREE;
    1062              : }
    1063              : 
    1064              : tree
    1065            0 : generic_simplify_228 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1066              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1067              :  const enum tree_code ARG_UNUSED (cmp1),
    1068              :  const enum tree_code ARG_UNUSED (cmp2),
    1069              :  const enum tree_code ARG_UNUSED (rcmp))
    1070              : {
    1071            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1072            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1073            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1074            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[0]))
    1075            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    1076              : )
    1077              :     {
    1078            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail384;
    1079            0 :       {
    1080            0 :         tree res_op0;
    1081            0 :         res_op0 = captures[0];
    1082            0 :         tree res_op1;
    1083            0 :         res_op1 = captures[1];
    1084            0 :         tree _r;
    1085            0 :         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1086            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 297, __FILE__, __LINE__, true);
    1087            0 :         return _r;
    1088              :       }
    1089            0 : next_after_fail384:;
    1090              :     }
    1091              :   return NULL_TREE;
    1092              : }
    1093              : 
    1094              : tree
    1095            2 : generic_simplify_236 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1096              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1097              :  const enum tree_code ARG_UNUSED (cmp),
    1098              :  const enum tree_code ARG_UNUSED (icmp))
    1099              : {
    1100            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1101            2 :   if (tree_int_cst_sgn (captures[0]) > 0
    1102              : )
    1103              :     {
    1104            2 :       {
    1105            2 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1106            2 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1107            2 :           if (c1 > c2
    1108              : )
    1109              :             {
    1110            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail396;
    1111            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail396;
    1112            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail396;
    1113            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail396;
    1114            0 :               {
    1115            0 :                 tree _r;
    1116            0 :                 _r =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
    1117            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1118            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1119            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 309, __FILE__, __LINE__, true);
    1120            0 :                 return _r;
    1121              :               }
    1122              : next_after_fail396:;
    1123              :             }
    1124              :           else
    1125              :             {
    1126            2 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail397;
    1127            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail397;
    1128            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail397;
    1129            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail397;
    1130            2 :               {
    1131            2 :                 tree res_op0;
    1132            2 :                 res_op0 = captures[1];
    1133            2 :                 tree res_op1;
    1134            2 :                 res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
    1135            2 :                 tree _r;
    1136            2 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1137            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 310, __FILE__, __LINE__, true);
    1138            2 :                 return _r;
    1139              :               }
    1140              : next_after_fail397:;
    1141              :             }
    1142              :       }
    1143              :     }
    1144              :   return NULL_TREE;
    1145              : }
    1146              : 
    1147              : tree
    1148          179 : generic_simplify_245 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1149              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1150              :  const enum tree_code ARG_UNUSED (cmp),
    1151              :  const enum tree_code ARG_UNUSED (icmp),
    1152              :  const enum tree_code ARG_UNUSED (ncmp))
    1153              : {
    1154          179 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1155          179 :   if (types_match (type, TREE_TYPE (captures[0]))
    1156              : )
    1157              :     {
    1158          125 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail413;
    1159          125 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail413;
    1160          125 :       {
    1161          125 :         tree res_op0;
    1162          125 :         res_op0 = captures[1];
    1163          125 :         tree res_op1;
    1164          125 :         res_op1 = captures[2];
    1165          125 :         tree _r;
    1166          125 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1167          125 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 326, __FILE__, __LINE__, true);
    1168          125 :         return _r;
    1169              :       }
    1170              : next_after_fail413:;
    1171              :     }
    1172              :   return NULL_TREE;
    1173              : }
    1174              : 
    1175              : tree
    1176     45301667 : generic_simplify_252 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1177              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1178              :  const enum tree_code ARG_UNUSED (cmp))
    1179              : {
    1180     45301667 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1181     45301667 :   {
    1182     45301667 :  bool wascmp;
    1183     45301667 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1184     45301667 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    1185              : )
    1186              :         {
    1187            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
    1188            5 :           {
    1189            5 :             tree _r;
    1190            5 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1191            5 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1192            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1193            5 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1194            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1195            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1196            5 :             return _r;
    1197              :           }
    1198            0 : next_after_fail426:;
    1199              :         }
    1200              :   }
    1201     45301662 :   return NULL_TREE;
    1202              : }
    1203              : 
    1204              : tree
    1205         8863 : generic_simplify_257 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1206              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1207              :  const enum tree_code ARG_UNUSED (op),
    1208              :  const enum tree_code ARG_UNUSED (cmp))
    1209              : {
    1210         8863 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1211         8863 :   if (flag_unsafe_math_optimizations
    1212              : )
    1213              :     {
    1214            5 :       {
    1215            8 :  tree tem = const_binop (op == PLUS_EXPR ? MINUS_EXPR : PLUS_EXPR,
    1216            5 :  TREE_TYPE (captures[1]), captures[2], captures[1]);
    1217            5 :           if (tem && !TREE_OVERFLOW (tem)
    1218              : )
    1219              :             {
    1220            4 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail445;
    1221            4 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail445;
    1222            4 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail445;
    1223            4 :               {
    1224            4 :                 tree res_op0;
    1225            4 :                 res_op0 = captures[0];
    1226            4 :                 tree res_op1;
    1227            4 :                 res_op1 =  tem;
    1228            4 :                 tree _r;
    1229            4 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1230            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 356, __FILE__, __LINE__, true);
    1231            4 :                 return _r;
    1232              :               }
    1233              : next_after_fail445:;
    1234              :             }
    1235              :       }
    1236              :     }
    1237              :   return NULL_TREE;
    1238              : }
    1239              : 
    1240              : tree
    1241           69 : generic_simplify_263 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1242              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1243              :  const enum tree_code ARG_UNUSED (cmp))
    1244              : {
    1245           69 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1246           69 :   if (!integer_zerop (captures[1])
    1247              : )
    1248              :     {
    1249           69 :       if (wi::to_wide (captures[2]) == 0
    1250              : )
    1251              :         {
    1252           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail476;
    1253           22 :           {
    1254           22 :             tree res_op0;
    1255           22 :             res_op0 = captures[0];
    1256           22 :             tree res_op1;
    1257           22 :             res_op1 = captures[2];
    1258           22 :             tree _r;
    1259           22 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1260           22 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1261            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1262           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 387, __FILE__, __LINE__, true);
    1263           22 :             return _r;
    1264              :           }
    1265            0 : next_after_fail476:;
    1266              :         }
    1267              :       else
    1268              :         {
    1269           47 :           if (TREE_CODE (captures[1]) == INTEGER_CST
    1270              : )
    1271              :             {
    1272           47 :               {
    1273           47 :  wi::overflow_type ovf;
    1274           47 :  wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
    1275           94 :  TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
    1276           47 :                   if (ovf
    1277              : )
    1278              :                     {
    1279            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail477;
    1280            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail477;
    1281            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail477;
    1282            0 :                       {
    1283            0 :                         tree _r;
    1284            0 :                         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1285            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    1286            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1287            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 388, __FILE__, __LINE__, true);
    1288            0 :                         return _r;
    1289              :                       }
    1290            0 : next_after_fail477:;
    1291              :                     }
    1292              :                   else
    1293              :                     {
    1294           47 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail478;
    1295           47 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail478;
    1296           47 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail478;
    1297           47 :                       {
    1298           47 :                         tree res_op0;
    1299           47 :                         res_op0 = captures[0];
    1300           47 :                         tree res_op1;
    1301           47 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
    1302           47 :                         tree _r;
    1303           47 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1304           47 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 389, __FILE__, __LINE__, true);
    1305           47 :                         return _r;
    1306              :                       }
    1307            0 : next_after_fail478:;
    1308              :                     }
    1309           47 :               }
    1310              :             }
    1311              :         }
    1312              :     }
    1313              :   return NULL_TREE;
    1314              : }
    1315              : 
    1316              : tree
    1317        25607 : generic_simplify_270 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1318              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1319              :  const enum tree_code ARG_UNUSED (cmp))
    1320              : {
    1321        25607 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1322        25607 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail502;
    1323        25607 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail502;
    1324        25607 :   {
    1325        25607 :     tree res_op0;
    1326        25607 :     res_op0 = captures[0];
    1327        25607 :     tree res_op1;
    1328        25607 :     res_op1 = captures[1];
    1329        25607 :     tree _r;
    1330        25607 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1331        25607 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 405, __FILE__, __LINE__, true);
    1332              :     return _r;
    1333              :   }
    1334              : next_after_fail502:;
    1335              :   return NULL_TREE;
    1336              : }
    1337              : 
    1338              : tree
    1339       146017 : generic_simplify_272 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1340              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1341              :  const enum tree_code ARG_UNUSED (cmp))
    1342              : {
    1343       146017 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1344       146017 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
    1345       146017 :   {
    1346       146017 :     tree res_op0;
    1347       146017 :     {
    1348       146017 :       tree _o1[2], _r1;
    1349       146017 :       _o1[0] = captures[0];
    1350       146017 :       {
    1351       146017 :         tree _o2[1], _r2;
    1352       146017 :         _o2[0] = captures[1];
    1353       146017 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1354       146017 :         if (EXPR_P (_r2))
    1355       145988 :           goto next_after_fail504;
    1356           29 :         _o1[1] = _r2;
    1357              :       }
    1358           29 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1359           29 :       res_op0 = _r1;
    1360              :     }
    1361           29 :     tree res_op1;
    1362           29 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1363           29 :     tree _r;
    1364           29 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1365           29 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
    1366              :     return _r;
    1367              :   }
    1368              : next_after_fail504:;
    1369              :   return NULL_TREE;
    1370              : }
    1371              : 
    1372              : tree
    1373     29357670 : generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1374              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1375              :  const enum tree_code ARG_UNUSED (cmp))
    1376              : {
    1377     29357670 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1378     29357670 :   if (tree_expr_nonzero_p (captures[0])
    1379              : )
    1380              :     {
    1381      1347299 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail508;
    1382      1347299 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail508;
    1383      1347299 :       {
    1384      1347299 :         tree _r;
    1385      1347299 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1386      1347299 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1387         6708 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1388      1347299 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 411, __FILE__, __LINE__, true);
    1389      1347299 :         return _r;
    1390              :       }
    1391              : next_after_fail508:;
    1392              :     }
    1393              :   return NULL_TREE;
    1394              : }
    1395              : 
    1396              : tree
    1397           84 : generic_simplify_281 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1398              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1399              :  const enum tree_code ARG_UNUSED (sgncmp),
    1400              :  const enum tree_code ARG_UNUSED (cmp),
    1401              :  const enum tree_code ARG_UNUSED (ncmp))
    1402              : {
    1403           84 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1404          168 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1405           84 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1406          168 :  && types_match (captures[0], captures[2])
    1407              : )
    1408              :     {
    1409           84 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail513;
    1410           84 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail513;
    1411           84 :       {
    1412           84 :         tree res_op0;
    1413           84 :         {
    1414           84 :           tree _o1[2], _r1;
    1415           84 :           _o1[0] = captures[0];
    1416           84 :           _o1[1] = captures[2];
    1417           84 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1418           84 :           res_op0 = _r1;
    1419              :         }
    1420           84 :         tree res_op1;
    1421           84 :         res_op1 = captures[1];
    1422           84 :         tree _r;
    1423           84 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1424           84 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 415, __FILE__, __LINE__, true);
    1425           84 :         return _r;
    1426              :       }
    1427              : next_after_fail513:;
    1428              :     }
    1429              :   return NULL_TREE;
    1430              : }
    1431              : 
    1432              : tree
    1433     52480352 : generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1434              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1435              :  const enum tree_code ARG_UNUSED (neeq))
    1436              : {
    1437     52480352 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1438     93552168 :   if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1439     52490754 :  && ptrs_compare_unequal (captures[0], captures[1])
    1440              : )
    1441              :     {
    1442        11949 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail533;
    1443        11949 :       {
    1444        11949 :         tree _r;
    1445        11949 :         _r =  constant_boolean_node (neeq != EQ_EXPR, type);
    1446        11949 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1447            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1448        11949 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1449            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1450        11949 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1451        11949 :         return _r;
    1452              :       }
    1453            0 : next_after_fail533:;
    1454              :     }
    1455              :   return NULL_TREE;
    1456              : }
    1457              : 
    1458              : tree
    1459      1044521 : generic_simplify_291 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1460              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1461              :  const enum tree_code ARG_UNUSED (op),
    1462              :  const enum tree_code ARG_UNUSED (rop),
    1463              :  const enum tree_code ARG_UNUSED (cmp))
    1464              : {
    1465      1044521 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1466      2089042 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    1467      1044521 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
    1468      1044208 :  && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
    1469      2088585 :  && !TYPE_SATURATING (TREE_TYPE (captures[1]))
    1470              : )
    1471              :     {
    1472      1044064 :       {
    1473      1044064 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    1474      1044064 :           if (TREE_OVERFLOW (res)
    1475      1044064 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1476              : )
    1477              :             {
    1478         7587 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail541;
    1479         7587 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail541;
    1480         7587 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail541;
    1481         7587 :               {
    1482         7587 :                 tree _r;
    1483         7587 :                 _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1484         7587 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1485            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1486         7587 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 434, __FILE__, __LINE__, true);
    1487         7587 :                 return _r;
    1488              :               }
    1489              : next_after_fail541:;
    1490              :             }
    1491              :           else
    1492              :             {
    1493      1036477 :               if (single_use (captures[0]) || wi::to_wide (res) == 0
    1494              : )
    1495              :                 {
    1496      1036477 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail542;
    1497      1036477 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail542;
    1498      1036477 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail542;
    1499      1036477 :                   {
    1500      1036477 :                     tree res_op0;
    1501      1036477 :                     res_op0 = captures[1];
    1502      1036477 :                     tree res_op1;
    1503      1036477 :                     res_op1 =  TREE_OVERFLOW (res)
    1504      1036477 :  ? drop_tree_overflow (res) : res;
    1505      1036477 :                     tree _r;
    1506      1036477 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1507      1036477 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 435, __FILE__, __LINE__, true);
    1508      1036477 :                     return _r;
    1509              :                   }
    1510              : next_after_fail542:;
    1511              :                 }
    1512              :             }
    1513              :       }
    1514              :     }
    1515              :   return NULL_TREE;
    1516              : }
    1517              : 
    1518              : tree
    1519            0 : generic_simplify_294 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1520              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1521              :  const enum tree_code ARG_UNUSED (op),
    1522              :  const enum tree_code ARG_UNUSED (cmp))
    1523              : {
    1524            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1525            0 :   if (integer_zerop (captures[3]) && single_use (captures[0])
    1526              : )
    1527              :     {
    1528            0 :       {
    1529            0 :  tree type0 = TREE_TYPE (captures[1]);
    1530            0 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1531            0 :  if (integer_zerop (captures[2]))
    1532              :  stype = NULL_TREE;
    1533            0 :           if (stype
    1534              : )
    1535              :             {
    1536            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail554;
    1537            0 :               {
    1538            0 :                 tree res_op0;
    1539            0 :                 {
    1540            0 :                   tree _o1[1], _r1;
    1541            0 :                   _o1[0] = captures[1];
    1542            0 :                   if (TREE_TYPE (_o1[0]) != stype)
    1543              :                     {
    1544            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1545              :                     }
    1546              :                   else
    1547              :                     _r1 = _o1[0];
    1548            0 :                   res_op0 = _r1;
    1549              :                 }
    1550            0 :                 tree res_op1;
    1551            0 :                 res_op1 =  build_zero_cst (stype);
    1552            0 :                 tree _r;
    1553            0 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1554            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    1555            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1556            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1557            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1558            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
    1559            0 :                 return _r;
    1560              :               }
    1561            0 : next_after_fail554:;
    1562              :             }
    1563              :       }
    1564              :     }
    1565              :   else
    1566              :     {
    1567            0 :       {
    1568            0 :  bool ok = true;
    1569            0 :  tree type0 = TREE_TYPE (captures[1]);
    1570            0 :  if (wi::to_widest (captures[2]) == TYPE_PRECISION (type0) - 1)
    1571              :  ok = false;
    1572            0 :           if (ok && wi::to_wide (captures[3]) == (TYPE_PRECISION (type0) - 1)
    1573              : )
    1574              :             {
    1575            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail555;
    1576            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail555;
    1577            0 :               {
    1578            0 :                 tree res_op0;
    1579            0 :                 res_op0 = captures[1];
    1580            0 :                 tree res_op1;
    1581            0 :                 res_op1 =  build_one_cst (type0);
    1582            0 :                 tree _r;
    1583            0 :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1584            0 :                 if (TREE_SIDE_EFFECTS (captures[3]))
    1585            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1586            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 448, __FILE__, __LINE__, true);
    1587            0 :                 return _r;
    1588              :               }
    1589              : next_after_fail555:;
    1590              :             }
    1591              :       }
    1592              :     }
    1593              :   return NULL_TREE;
    1594              : }
    1595              : 
    1596              : tree
    1597            0 : generic_simplify_303 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1598              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1599              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1600              : {
    1601            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1602            0 :   if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
    1603              : )
    1604              :     {
    1605            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail569;
    1606            0 :       {
    1607            0 :         tree res_op0;
    1608            0 :         {
    1609            0 :           tree _o1[1], _r1;
    1610            0 :           _o1[0] = captures[0];
    1611            0 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1612            0 :           res_op0 = _r1;
    1613              :         }
    1614            0 :         tree res_op1;
    1615            0 :         res_op1 = captures[1];
    1616            0 :         tree _r;
    1617            0 :         _r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
    1618            0 :         if (!_r)
    1619            0 :           goto next_after_fail569;
    1620            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 462, __FILE__, __LINE__, true);
    1621            0 :         return _r;
    1622              :       }
    1623              : next_after_fail569:;
    1624              :     }
    1625              :   return NULL_TREE;
    1626              : }
    1627              : 
    1628              : tree
    1629            0 : generic_simplify_308 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1630              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1631              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1632              : {
    1633            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1634            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail574;
    1635            0 :   {
    1636            0 :     tree res_op0;
    1637            0 :     res_op0 = captures[0];
    1638            0 :     tree _r;
    1639            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1640            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    1641            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1642            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 467, __FILE__, __LINE__, true);
    1643              :     return _r;
    1644              :   }
    1645            0 : next_after_fail574:;
    1646            0 :   return NULL_TREE;
    1647              : }
    1648              : 
    1649              : tree
    1650            1 : generic_simplify_315 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1651              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1652              :  const enum tree_code ARG_UNUSED (div))
    1653              : {
    1654            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1655            1 :   if (INTEGRAL_TYPE_P (type)
    1656            1 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1657            1 :  && !integer_zerop (captures[0])
    1658            2 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1659              : )
    1660              :     {
    1661            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail583;
    1662            1 :       {
    1663            1 :         tree res_op0;
    1664            1 :         {
    1665            1 :           tree _o1[2], _r1;
    1666            1 :           _o1[0] = captures[0];
    1667            1 :           _o1[1] =  build_zero_cst (type);
    1668            1 :           _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    1669            1 :           res_op0 = _r1;
    1670              :         }
    1671            1 :         tree res_op1;
    1672            1 :         res_op1 =  build_minus_one_cst (type);
    1673            1 :         tree res_op2;
    1674            1 :         res_op2 =  build_one_cst (type);
    1675            1 :         tree _r;
    1676            1 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    1677            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 474, __FILE__, __LINE__, true);
    1678            1 :         return _r;
    1679              :       }
    1680            0 : next_after_fail583:;
    1681              :     }
    1682              :   return NULL_TREE;
    1683              : }
    1684              : 
    1685              : tree
    1686      2282425 : generic_simplify_322 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1687              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1688              :  const enum tree_code ARG_UNUSED (floor_divmod),
    1689              :  const enum tree_code ARG_UNUSED (trunc_divmod))
    1690              : {
    1691      2282425 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1692            0 :   if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
    1693      2282425 :  && TYPE_UNSIGNED (type)
    1694              : )
    1695              :     {
    1696      2273311 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail591;
    1697      2273311 :       {
    1698      2273311 :         tree res_op0;
    1699      2273311 :         res_op0 = captures[0];
    1700      2273311 :         tree res_op1;
    1701      2273311 :         res_op1 = captures[1];
    1702      2273311 :         tree _r;
    1703      2273311 :         _r = fold_build2_loc (loc, trunc_divmod, type, res_op0, res_op1);
    1704      2273311 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 482, __FILE__, __LINE__, true);
    1705      2273311 :         return _r;
    1706              :       }
    1707            0 : next_after_fail591:;
    1708              :     }
    1709              :   return NULL_TREE;
    1710              : }
    1711              : 
    1712              : tree
    1713         7033 : generic_simplify_328 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1714              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1715              :  const enum tree_code ARG_UNUSED (mod))
    1716              : {
    1717         7033 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1718            0 :   if (ANY_INTEGRAL_TYPE_P (type)
    1719         7033 :  && TYPE_OVERFLOW_UNDEFINED (type)
    1720        14066 :  && wi::multiple_of_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
    1721          195 :  TYPE_SIGN (type))
    1722              : )
    1723              :     {
    1724            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail597;
    1725            0 :       {
    1726            0 :         tree _r;
    1727            0 :         _r =  build_zero_cst (type);
    1728            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1729            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1730            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1731            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1732            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1733            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1734            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 488, __FILE__, __LINE__, true);
    1735            0 :         return _r;
    1736              :       }
    1737            0 : next_after_fail597:;
    1738              :     }
    1739              :   return NULL_TREE;
    1740              : }
    1741              : 
    1742              : tree
    1743            0 : generic_simplify_341 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1744              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1745              :  const enum tree_code ARG_UNUSED (op),
    1746              :  const combined_fn ARG_UNUSED (bt),
    1747              :  const combined_fn ARG_UNUSED (bf),
    1748              :  const combined_fn ARG_UNUSED (floor),
    1749              :  const combined_fn ARG_UNUSED (ceil))
    1750              : {
    1751            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1752            0 :   if (!HONOR_SIGNED_ZEROS (type) && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
    1753              : )
    1754              :     {
    1755            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail612;
    1756            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
    1757            0 :       {
    1758            0 :         tree res_op0;
    1759            0 :         {
    1760            0 :           tree _o1[2], _r1;
    1761            0 :           _o1[0] = captures[1];
    1762            0 :           _o1[1] =  build_real (type, dconsthalf);
    1763            0 :           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1764            0 :           res_op0 = _r1;
    1765              :         }
    1766            0 :         tree _r;
    1767            0 :         _r = maybe_build_call_expr_loc (loc, floor, type, 1, res_op0);
    1768            0 :         if (!_r)
    1769            0 :           goto next_after_fail612;
    1770            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 503, __FILE__, __LINE__, true);
    1771            0 :         return _r;
    1772              :       }
    1773              : next_after_fail612:;
    1774              :     }
    1775              :   return NULL_TREE;
    1776              : }
    1777              : 
    1778              : tree
    1779            0 : generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1780              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1781              :  const enum tree_code ARG_UNUSED (cmp))
    1782              : {
    1783            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1784            0 :   if (INTEGRAL_TYPE_P (type)
    1785              : )
    1786              :     {
    1787            0 :       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail627;
    1788            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail627;
    1789            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail627;
    1790            0 :       {
    1791            0 :         tree res_op0;
    1792            0 :         res_op0 = captures[0];
    1793            0 :         tree res_op1;
    1794            0 :         res_op1 = captures[1];
    1795            0 :         tree _r;
    1796            0 :         _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
    1797            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
    1798            0 :         return _r;
    1799              :       }
    1800              : next_after_fail627:;
    1801              :     }
    1802              :   return NULL_TREE;
    1803              : }
    1804              : 
    1805              : tree
    1806            0 : generic_simplify_354 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1807              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1808              :  const enum tree_code ARG_UNUSED (op))
    1809              : {
    1810            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1811            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail631;
    1812            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail631;
    1813            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail631;
    1814            0 :   {
    1815            0 :     tree _r;
    1816            0 :     _r = captures[2];
    1817            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 522, __FILE__, __LINE__, true);
    1818              :     return _r;
    1819              :   }
    1820              : next_after_fail631:;
    1821              :   return NULL_TREE;
    1822              : }
    1823              : 
    1824              : tree
    1825          184 : generic_simplify_360 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1826              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1827              :  const enum tree_code ARG_UNUSED (op))
    1828              : {
    1829          184 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1830          184 :   if (bitwise_equal_p (captures[0], captures[3])
    1831          184 :  && expr_no_side_effects_p (captures[2])
    1832              : )
    1833              :     {
    1834            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail637;
    1835            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail637;
    1836            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail637;
    1837            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail637;
    1838            1 :       {
    1839            1 :         tree _r;
    1840            1 :         _r = captures[1];
    1841            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 528, __FILE__, __LINE__, true);
    1842            1 :         return _r;
    1843              :       }
    1844              : next_after_fail637:;
    1845              :     }
    1846              :   return NULL_TREE;
    1847              : }
    1848              : 
    1849              : tree
    1850            6 : generic_simplify_366 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1851              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1852              :  const enum tree_code ARG_UNUSED (neeq),
    1853              :  const combined_fn ARG_UNUSED (sign))
    1854              : {
    1855            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1856            6 :   if (neeq == NE_EXPR
    1857              : )
    1858              :     {
    1859            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail643;
    1860            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail643;
    1861            3 :       {
    1862            3 :         tree res_op0;
    1863            3 :         res_op0 = captures[0];
    1864            3 :         tree _r;
    1865            3 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    1866            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 534, __FILE__, __LINE__, true);
    1867            3 :         return _r;
    1868              :       }
    1869              : next_after_fail643:;
    1870              :     }
    1871              :   else
    1872              :     {
    1873            3 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail644;
    1874            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
    1875            3 :       {
    1876            3 :         tree res_op0;
    1877            3 :         {
    1878            3 :           tree _o1[1], _r1;
    1879            3 :           _o1[0] = captures[0];
    1880            3 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1881            3 :           res_op0 = _r1;
    1882              :         }
    1883            3 :         tree _r;
    1884            3 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    1885            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
    1886            3 :         return _r;
    1887              :       }
    1888              : next_after_fail644:;
    1889              :     }
    1890              :   return NULL_TREE;
    1891              : }
    1892              : 
    1893              : tree
    1894        83877 : generic_simplify_379 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1895              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1896              :  const enum tree_code ARG_UNUSED (op))
    1897              : {
    1898        83877 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1899       167754 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1900        83877 :  && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1901       167754 :  && wi::only_sign_bit_p (wi::to_wide (captures[1]))
    1902              : )
    1903              :     {
    1904            5 :       {
    1905            5 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    1906            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail661;
    1907            5 :           {
    1908            5 :             tree res_op0;
    1909            5 :             {
    1910            5 :               tree _o1[1], _r1;
    1911            5 :               _o1[0] = captures[0];
    1912            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1913              :                 {
    1914            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1915              :                 }
    1916              :               else
    1917              :                 _r1 = _o1[0];
    1918            5 :               res_op0 = _r1;
    1919              :             }
    1920            5 :             tree res_op1;
    1921            5 :             {
    1922            5 :               tree _o1[1], _r1;
    1923            5 :               _o1[0] = captures[2];
    1924            5 :               if (TREE_TYPE (_o1[0]) != stype)
    1925              :                 {
    1926            5 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
    1927              :                 }
    1928              :               else
    1929              :                 _r1 = _o1[0];
    1930            5 :               res_op1 = _r1;
    1931              :             }
    1932            5 :             tree _r;
    1933            5 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1934            5 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1935            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1936            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 550, __FILE__, __LINE__, true);
    1937            5 :             return _r;
    1938              :           }
    1939            0 : next_after_fail661:;
    1940              :       }
    1941              :     }
    1942              :   return NULL_TREE;
    1943              : }
    1944              : 
    1945              : tree
    1946      9566340 : generic_simplify_389 (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              :  const enum tree_code ARG_UNUSED (acmp))
    1950              : {
    1951      9566340 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1952      9566340 :   {
    1953      9566340 :  tree cst = uniform_integer_cst_p (captures[1]);
    1954      9566340 :       if (tree_int_cst_sgn (cst) == 1
    1955              : )
    1956              :         {
    1957      3955688 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail672;
    1958      3955688 :           {
    1959      3955688 :             tree res_op0;
    1960      3955688 :             res_op0 = captures[0];
    1961      3955688 :             tree res_op1;
    1962      3955688 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    1963      3955688 :  wide_int_to_tree (TREE_TYPE (cst),
    1964      3955688 :  wi::to_wide (cst) - 1));
    1965      3955688 :             tree _r;
    1966      3955688 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    1967      3955688 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1968            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1969      3955688 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 561, __FILE__, __LINE__, true);
    1970      3955688 :             return _r;
    1971              :           }
    1972            0 : next_after_fail672:;
    1973              :         }
    1974              :   }
    1975              :   return NULL_TREE;
    1976              : }
    1977              : 
    1978              : tree
    1979            0 : generic_simplify_399 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1980              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1981              :  const enum tree_code ARG_UNUSED (cmp),
    1982              :  const enum tree_code ARG_UNUSED (out))
    1983              : {
    1984            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1985            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1986            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1987              : )
    1988              :     {
    1989            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail714;
    1990            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail714;
    1991            0 :       {
    1992            0 :         tree res_op0;
    1993            0 :         {
    1994            0 :           tree _o1[1], _r1;
    1995            0 :           _o1[0] = captures[0];
    1996            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    1997            0 :           res_op0 = _r1;
    1998              :         }
    1999            0 :         tree res_op1;
    2000            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2001            0 :         tree _r;
    2002            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2003            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 586, __FILE__, __LINE__, true);
    2004            0 :         return _r;
    2005              :       }
    2006              : next_after_fail714:;
    2007              :     }
    2008              :   return NULL_TREE;
    2009              : }
    2010              : 
    2011              : tree
    2012     20242146 : generic_simplify_406 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2013              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2014              :  const enum tree_code ARG_UNUSED (cmp),
    2015              :  const enum tree_code ARG_UNUSED (acmp))
    2016              : {
    2017     20242146 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2018     20242146 :   {
    2019     20242146 :  tree cst = uniform_integer_cst_p (captures[1]);
    2020     20242146 :       if (tree_int_cst_sgn (cst) == -1
    2021              : )
    2022              :         {
    2023       176864 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail728;
    2024       176864 :           {
    2025       176864 :             tree res_op0;
    2026       176864 :             res_op0 = captures[0];
    2027       176864 :             tree res_op1;
    2028       176864 :             res_op1 =  build_uniform_cst (TREE_TYPE (captures[1]),
    2029       176864 :  wide_int_to_tree (TREE_TYPE (cst),
    2030       176864 :  wi::to_wide (cst)
    2031       353728 :  + 1));
    2032       176864 :             tree _r;
    2033       176864 :             _r = fold_build2_loc (loc, acmp, type, res_op0, res_op1);
    2034       176864 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2035            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2036       176864 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 600, __FILE__, __LINE__, true);
    2037       176864 :             return _r;
    2038              :           }
    2039            0 : next_after_fail728:;
    2040              :         }
    2041              :   }
    2042              :   return NULL_TREE;
    2043              : }
    2044              : 
    2045              : tree
    2046            0 : generic_simplify_409 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2047              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2048              :  const enum tree_code ARG_UNUSED (cmp),
    2049              :  const enum tree_code ARG_UNUSED (out))
    2050              : {
    2051            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2052            0 :   if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2053            0 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    2054              : )
    2055              :     {
    2056            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail731;
    2057            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail731;
    2058            0 :       {
    2059            0 :         tree res_op0;
    2060            0 :         {
    2061            0 :           tree _o1[1], _r1;
    2062            0 :           _o1[0] = captures[0];
    2063            0 :           _r1 = fold_build1_loc (loc, IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
    2064            0 :           res_op0 = _r1;
    2065              :         }
    2066            0 :         tree res_op1;
    2067            0 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2068            0 :         tree _r;
    2069            0 :         _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
    2070            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 585, __FILE__, __LINE__, true);
    2071            0 :         return _r;
    2072              :       }
    2073              : next_after_fail731:;
    2074              :     }
    2075              :   return NULL_TREE;
    2076              : }
    2077              : 
    2078              : tree
    2079           43 : generic_simplify_414 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2080              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2081              :  const enum tree_code ARG_UNUSED (cmp),
    2082              :  const enum tree_code ARG_UNUSED (cmp2),
    2083              :  const enum tree_code ARG_UNUSED (cmp3),
    2084              :  const enum tree_code ARG_UNUSED (bit_op),
    2085              :  const combined_fn ARG_UNUSED (ffs))
    2086              : {
    2087           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2088           43 :   {
    2089           43 :  int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
    2090           43 :       if (integer_zerop (captures[2])
    2091              : )
    2092              :         {
    2093           11 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail736;
    2094           11 :           {
    2095           11 :             tree res_op0;
    2096           11 :             res_op0 = captures[1];
    2097           11 :             tree res_op1;
    2098           11 :             res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    2099           11 :             tree _r;
    2100           11 :             _r = fold_build2_loc (loc, cmp2, type, res_op0, res_op1);
    2101           11 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2102            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2103           11 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 604, __FILE__, __LINE__, true);
    2104           27 :             return _r;
    2105              :           }
    2106            0 : next_after_fail736:;
    2107              :         }
    2108              :       else
    2109              :         {
    2110           32 :           if (tree_int_cst_sgn (captures[2]) < 0
    2111              : )
    2112              :             {
    2113            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail737;
    2114            0 :               {
    2115            0 :                 tree _r;
    2116            0 :                 _r =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
    2117            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2118            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2119            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
    2120            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2121            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 605, __FILE__, __LINE__, true);
    2122            0 :                 return _r;
    2123              :               }
    2124            0 : next_after_fail737:;
    2125              :             }
    2126              :           else
    2127              :             {
    2128           32 :               if (wi::to_widest (captures[2]) >= prec
    2129              : )
    2130              :                 {
    2131           14 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail738;
    2132           14 :                   {
    2133           14 :                     tree _r;
    2134           14 :                     _r =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
    2135           14 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    2136            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2137           14 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2138            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2139           14 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 606, __FILE__, __LINE__, true);
    2140           14 :                     return _r;
    2141              :                   }
    2142            0 : next_after_fail738:;
    2143              :                 }
    2144              :               else
    2145              :                 {
    2146           18 :                   if (wi::to_widest (captures[2]) == prec - 1
    2147              : )
    2148              :                     {
    2149            2 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail739;
    2150            2 :                       {
    2151            2 :                         tree res_op0;
    2152            2 :                         res_op0 = captures[1];
    2153            2 :                         tree res_op1;
    2154            2 :                         res_op1 =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2155            2 :  wi::shifted_mask (prec - 1, 1,
    2156              :  false, prec));
    2157            2 :                         tree _r;
    2158            2 :                         _r = fold_build2_loc (loc, cmp3, type, res_op0, res_op1);
    2159            2 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2160            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2161            2 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 607, __FILE__, __LINE__, true);
    2162            2 :                         return _r;
    2163              :                       }
    2164            0 : next_after_fail739:;
    2165              :                     }
    2166              :                   else
    2167              :                     {
    2168           16 :                       if (single_use (captures[0])
    2169              : )
    2170              :                         {
    2171           16 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail740;
    2172           16 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail740;
    2173           16 :                           {
    2174           16 :                             if (! tree_invariant_p (captures[1])) goto next_after_fail740;
    2175            0 :                             tree res_op0;
    2176            0 :                             {
    2177            0 :                               tree _o1[2], _r1;
    2178            0 :                               _o1[0] = unshare_expr (captures[1]);
    2179            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2180            0 :                               _r1 = fold_build2_loc (loc, cmp2, type, _o1[0], _o1[1]);
    2181            0 :                               res_op0 = _r1;
    2182              :                             }
    2183            0 :                             tree res_op1;
    2184            0 :                             {
    2185            0 :                               tree _o1[2], _r1;
    2186            0 :                               {
    2187            0 :                                 tree _o2[2], _r2;
    2188            0 :                                 _o2[0] = captures[1];
    2189            0 :                                 _o2[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
    2190            0 :  wi::mask (tree_to_uhwi (captures[2]),
    2191              :  false, prec));
    2192            0 :                                 _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2193            0 :                                 _o1[0] = _r2;
    2194              :                               }
    2195            0 :                               _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    2196            0 :                               _r1 = fold_build2_loc (loc, cmp3, type, _o1[0], _o1[1]);
    2197            0 :                               res_op1 = _r1;
    2198              :                             }
    2199            0 :                             tree _r;
    2200            0 :                             _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2201            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 608, __FILE__, __LINE__, true);
    2202            0 :                             return _r;
    2203              :                           }
    2204           16 : next_after_fail740:;
    2205              :                         }
    2206              :                     }
    2207              :                 }
    2208              :             }
    2209              :         }
    2210              :   }
    2211           16 :   return NULL_TREE;
    2212              : }
    2213              : 
    2214              : tree
    2215      4808053 : generic_simplify_436 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2216              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2217              : {
    2218      4808053 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2219      4808053 :   if (INTEGRAL_TYPE_P (type)
    2220      2646011 :  && TYPE_PRECISION (type) == 1
    2221      4822142 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
    2222              : )
    2223              :     {
    2224        14089 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail783;
    2225        14089 :       {
    2226        14089 :         tree res_op0;
    2227        14089 :         res_op0 = captures[0];
    2228        14089 :         tree _r;
    2229        14089 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2230        14089 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 637, __FILE__, __LINE__, true);
    2231        14089 :         return _r;
    2232              :       }
    2233            0 : next_after_fail783:;
    2234              :     }
    2235              :   return NULL_TREE;
    2236              : }
    2237              : 
    2238              : tree
    2239            0 : generic_simplify_439 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2240              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2241              :  const combined_fn ARG_UNUSED (coshs),
    2242              :  const combined_fn ARG_UNUSED (atanhs),
    2243              :  const combined_fn ARG_UNUSED (sqrts))
    2244              : {
    2245            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2246            0 :   if (!flag_errno_math
    2247              : )
    2248              :     {
    2249            0 :       {
    2250            0 :  tree t_one = build_one_cst (type);
    2251            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
    2252            0 :           {
    2253            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail786;
    2254            0 :             tree res_op0;
    2255            0 :             res_op0 =  t_one;
    2256            0 :             tree res_op1;
    2257            0 :             {
    2258            0 :               tree _o1[1], _r1;
    2259            0 :               {
    2260            0 :                 tree _o2[2], _r2;
    2261            0 :                 {
    2262            0 :                   tree _o3[2], _r3;
    2263            0 :                   _o3[0] =  t_one;
    2264            0 :                   _o3[1] = unshare_expr (captures[1]);
    2265            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2266            0 :                   _o2[0] = _r3;
    2267              :                 }
    2268            0 :                 {
    2269            0 :                   tree _o3[2], _r3;
    2270            0 :                   _o3[0] =  t_one;
    2271            0 :                   _o3[1] = captures[1];
    2272            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2273            0 :                   _o2[1] = _r3;
    2274              :                 }
    2275            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2276            0 :                 _o1[0] = _r2;
    2277              :               }
    2278            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2279            0 :               if (!_r1)
    2280            0 :                 goto next_after_fail786;
    2281            0 :               res_op1 = _r1;
    2282              :             }
    2283            0 :             tree _r;
    2284            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2285            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 640, __FILE__, __LINE__, true);
    2286            0 :             return _r;
    2287              :           }
    2288              : next_after_fail786:;
    2289              :       }
    2290              :     }
    2291              :   return NULL_TREE;
    2292              : }
    2293              : 
    2294              : tree
    2295            0 : generic_simplify_443 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2296              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2297              :  const combined_fn ARG_UNUSED (POW))
    2298              : {
    2299            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2300            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail790;
    2301            0 :   {
    2302            0 :     tree _r;
    2303            0 :     _r = captures[0];
    2304            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2305            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2306            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2307              :     return _r;
    2308              :   }
    2309            0 : next_after_fail790:;
    2310            0 :   return NULL_TREE;
    2311              : }
    2312              : 
    2313              : tree
    2314            0 : generic_simplify_447 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2315              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2316              :  const combined_fn ARG_UNUSED (HYPOT))
    2317              : {
    2318            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2319            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail794;
    2320            0 :   {
    2321            0 :     tree res_op0;
    2322            0 :     res_op0 = captures[0];
    2323            0 :     tree _r;
    2324            0 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
    2325            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2326            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2327            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 648, __FILE__, __LINE__, true);
    2328              :     return _r;
    2329              :   }
    2330            0 : next_after_fail794:;
    2331            0 :   return NULL_TREE;
    2332              : }
    2333              : 
    2334              : tree
    2335      4910738 : generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2336              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2337              : {
    2338      4910738 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2339      4910738 :   {
    2340      4910738 :  bool wascmp;
    2341      4910738 :       if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2342      4910738 :  && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
    2343              : )
    2344              :         {
    2345          115 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail796;
    2346          115 :           {
    2347          115 :             tree _r;
    2348          115 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2349          115 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2350            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2351          115 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2352            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2353          115 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2354          115 :             return _r;
    2355              :           }
    2356            0 : next_after_fail796:;
    2357              :         }
    2358              :   }
    2359      4910623 :   return NULL_TREE;
    2360              : }
    2361              : 
    2362              : tree
    2363           82 : generic_simplify_457 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2364              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2365              :  const enum tree_code ARG_UNUSED (bitop),
    2366              :  const enum tree_code ARG_UNUSED (op))
    2367              : {
    2368           82 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2369           82 :   {
    2370           82 :  tree pmop[2];
    2371           82 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], bitop,
    2372              :  captures[2], captures[3], captures[4], ERROR_MARK, NULL_TREE,
    2373              :  NULL_TREE, pmop);
    2374           82 :       if (utype
    2375              : )
    2376              :         {
    2377           22 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail804;
    2378           22 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail804;
    2379           22 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail804;
    2380           22 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail804;
    2381           22 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail804;
    2382           22 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail804;
    2383           22 :           {
    2384           22 :             tree res_op0;
    2385           22 :             {
    2386           22 :               tree _o1[2], _r1;
    2387           22 :               {
    2388           22 :                 tree _o2[2], _r2;
    2389           22 :                 {
    2390           22 :                   tree _o3[1], _r3;
    2391           22 :                   _o3[0] =  pmop[0];
    2392           22 :                   if (TREE_TYPE (_o3[0]) != utype)
    2393              :                     {
    2394           10 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2395              :                     }
    2396              :                   else
    2397              :                     _r3 = _o3[0];
    2398           22 :                   _o2[0] = _r3;
    2399              :                 }
    2400           22 :                 {
    2401           22 :                   tree _o3[1], _r3;
    2402           22 :                   _o3[0] =  pmop[1];
    2403           22 :                   if (TREE_TYPE (_o3[0]) != utype)
    2404              :                     {
    2405           10 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2406              :                     }
    2407              :                   else
    2408              :                     _r3 = _o3[0];
    2409           22 :                   _o2[1] = _r3;
    2410              :                 }
    2411           22 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2412           22 :                 _o1[0] = _r2;
    2413              :               }
    2414           22 :               {
    2415           22 :                 tree _o2[1], _r2;
    2416           22 :                 _o2[0] = captures[5];
    2417           22 :                 if (TREE_TYPE (_o2[0]) != utype)
    2418              :                   {
    2419           10 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2420              :                   }
    2421              :                 else
    2422              :                   _r2 = _o2[0];
    2423           22 :                 _o1[1] = _r2;
    2424              :               }
    2425           22 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2426           22 :               res_op0 = _r1;
    2427              :             }
    2428           22 :             tree _r;
    2429           22 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2430           22 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 657, __FILE__, __LINE__, true);
    2431           22 :             return _r;
    2432              :           }
    2433           60 : next_after_fail804:;
    2434              :         }
    2435              :   }
    2436           60 :   return NULL_TREE;
    2437              : }
    2438              : 
    2439              : tree
    2440          201 : generic_simplify_473 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2441              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2442              :  const enum tree_code ARG_UNUSED (code2),
    2443              :  const enum tree_code ARG_UNUSED (code1))
    2444              : {
    2445          201 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2446          201 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
    2447            2 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2448          201 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2449            0 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
    2450            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
    2451            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
    2452          199 :  && bitwise_equal_p (captures[2], captures[5]))
    2453              : )
    2454              :     {
    2455            2 :       {
    2456            2 :  bool one_before = false;
    2457            2 :  bool one_after = false;
    2458            2 :  int cmp = 0;
    2459            2 :  bool allbits = true;
    2460            2 :  if (TREE_CODE (captures[2]) == INTEGER_CST
    2461            2 :  && TREE_CODE (captures[5]) == INTEGER_CST)
    2462              :  {
    2463            2 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
    2464            2 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
    2465            2 :  auto t2 = wi::to_wide (captures[5]);
    2466            2 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
    2467            2 :  if (cmp < 0
    2468            2 :  && t1 == t2 - 1)
    2469              :  one_before = true;
    2470            2 :  if (cmp > 0
    2471            2 :  && t1 == t2 + 1)
    2472              :  one_after = true;
    2473              :  }
    2474            2 :  bool val;
    2475            2 :  switch (code2)
    2476              :  {
    2477            0 :  case EQ_EXPR: val = (cmp == 0); break;
    2478            2 :  case NE_EXPR: val = (cmp != 0); break;
    2479            0 :  case LT_EXPR: val = (cmp < 0); break;
    2480            0 :  case GT_EXPR: val = (cmp > 0); break;
    2481            0 :  case LE_EXPR: val = (cmp <= 0); break;
    2482            0 :  case GE_EXPR: val = (cmp >= 0); break;
    2483            0 :  default: gcc_unreachable ();
    2484              :  }
    2485            2 :           if (code1 == EQ_EXPR && val
    2486              : )
    2487              :             {
    2488            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail828;
    2489            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail828;
    2490            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail828;
    2491            0 :               {
    2492            0 :                 tree _r;
    2493            0 :                 _r = captures[0];
    2494            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
    2495            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2496            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
    2497            0 :                 return _r;
    2498              :               }
    2499              : next_after_fail828:;
    2500              :             }
    2501              :           else
    2502              :             {
    2503            2 :               if (code1 == EQ_EXPR && !val
    2504              : )
    2505              :                 {
    2506            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail829;
    2507            0 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail829;
    2508            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail829;
    2509            0 :                   {
    2510            0 :                     tree _r;
    2511            0 :                     _r =  constant_boolean_node (false, type);
    2512            0 :                     if (TREE_SIDE_EFFECTS (captures[4]))
    2513            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2514            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2515            0 :                     return _r;
    2516              :                   }
    2517              : next_after_fail829:;
    2518              :                 }
    2519              :               else
    2520              :                 {
    2521            2 :                   if (code1 == NE_EXPR && !val && allbits
    2522              : )
    2523              :                     {
    2524            0 :                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail830;
    2525            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail830;
    2526            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail830;
    2527            0 :                       {
    2528            0 :                         tree _r;
    2529            0 :                         _r = captures[3];
    2530            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 675, __FILE__, __LINE__, true);
    2531            0 :                         return _r;
    2532              :                       }
    2533              : next_after_fail830:;
    2534              :                     }
    2535              :                   else
    2536              :                     {
    2537            2 :                       if ((code1 == NE_EXPR
    2538            2 :  && code2 == GE_EXPR
    2539            0 :  && cmp == 0
    2540            0 :  && allbits)
    2541            2 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2542            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2543            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2544              : )
    2545              :                         {
    2546            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail831;
    2547            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail831;
    2548            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail831;
    2549            0 :                           {
    2550            0 :                             tree res_op0;
    2551            0 :                             res_op0 = captures[4];
    2552            0 :                             tree res_op1;
    2553            0 :                             {
    2554            0 :                               tree _o1[1], _r1;
    2555            0 :                               _o1[0] = captures[2];
    2556            0 :                               if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2557              :                                 {
    2558            0 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2559              :                                 }
    2560              :                               else
    2561              :                                 _r1 = _o1[0];
    2562            0 :                               res_op1 = _r1;
    2563              :                             }
    2564            0 :                             tree _r;
    2565            0 :                             _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2566            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
    2567            0 :                             return _r;
    2568              :                           }
    2569              : next_after_fail831:;
    2570              :                         }
    2571              :                       else
    2572              :                         {
    2573            2 :                           if ((code1 == NE_EXPR
    2574            2 :  && code2 == LE_EXPR
    2575            0 :  && cmp == 0
    2576            0 :  && allbits)
    2577            2 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2578            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2579            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2580              : )
    2581              :                             {
    2582            0 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail832;
    2583            0 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail832;
    2584            0 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail832;
    2585            0 :                               {
    2586            0 :                                 tree res_op0;
    2587            0 :                                 res_op0 = captures[4];
    2588            0 :                                 tree res_op1;
    2589            0 :                                 {
    2590            0 :                                   tree _o1[1], _r1;
    2591            0 :                                   _o1[0] = captures[2];
    2592            0 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2593              :                                     {
    2594            0 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2595              :                                     }
    2596              :                                   else
    2597              :                                     _r1 = _o1[0];
    2598            0 :                                   res_op1 = _r1;
    2599              :                                 }
    2600            0 :                                 tree _r;
    2601            0 :                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2602            0 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
    2603            0 :                                 return _r;
    2604              :                               }
    2605              : next_after_fail832:;
    2606              :                             }
    2607              :                           else
    2608              :                             {
    2609            2 :                               if ((code1 == NE_EXPR
    2610            2 :  && code2 == GT_EXPR
    2611              :  && one_after
    2612            0 :  && allbits)
    2613            2 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2614            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
    2615            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2616              : )
    2617              :                                 {
    2618            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail833;
    2619            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail833;
    2620            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail833;
    2621            0 :                                   {
    2622            0 :                                     tree res_op0;
    2623            0 :                                     res_op0 = captures[4];
    2624            0 :                                     tree res_op1;
    2625            0 :                                     {
    2626            0 :                                       tree _o1[1], _r1;
    2627            0 :                                       _o1[0] = captures[2];
    2628            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2629              :                                         {
    2630            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2631              :                                         }
    2632              :                                       else
    2633              :                                         _r1 = _o1[0];
    2634            0 :                                       res_op1 = _r1;
    2635              :                                     }
    2636            0 :                                     tree _r;
    2637            0 :                                     _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2638            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
    2639            0 :                                     return _r;
    2640              :                                   }
    2641              : next_after_fail833:;
    2642              :                                 }
    2643              :                               else
    2644              :                                 {
    2645            2 :                                   if ((code1 == NE_EXPR
    2646            2 :  && code2 == LT_EXPR
    2647              :  && one_before
    2648            0 :  && allbits)
    2649            2 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
    2650            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
    2651            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
    2652              : )
    2653              :                                     {
    2654            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail834;
    2655            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail834;
    2656            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail834;
    2657            0 :                                       {
    2658            0 :                                         tree res_op0;
    2659            0 :                                         res_op0 = captures[4];
    2660            0 :                                         tree res_op1;
    2661            0 :                                         {
    2662            0 :                                           tree _o1[1], _r1;
    2663            0 :                                           _o1[0] = captures[2];
    2664            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    2665              :                                             {
    2666            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    2667              :                                             }
    2668              :                                           else
    2669              :                                             _r1 = _o1[0];
    2670            0 :                                           res_op1 = _r1;
    2671              :                                         }
    2672            0 :                                         tree _r;
    2673            0 :                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2674            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
    2675            0 :                                         return _r;
    2676              :                                       }
    2677              : next_after_fail834:;
    2678              :                                     }
    2679              :                                 }
    2680              :                             }
    2681              :                         }
    2682              :                     }
    2683              :                 }
    2684              :             }
    2685              :       }
    2686              :     }
    2687              :   return NULL_TREE;
    2688              : }
    2689              : 
    2690              : tree
    2691            0 : generic_simplify_505 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2692              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2693              : {
    2694            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2695            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2696              : )
    2697              :     {
    2698            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail896;
    2699            0 :       {
    2700            0 :         tree res_op0;
    2701            0 :         {
    2702            0 :           tree _o1[2], _r1;
    2703            0 :           _o1[0] = captures[0];
    2704            0 :           _o1[1] = captures[1];
    2705            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2706            0 :           res_op0 = _r1;
    2707              :         }
    2708            0 :         tree _r;
    2709            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2710            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 710, __FILE__, __LINE__, true);
    2711            0 :         return _r;
    2712              :       }
    2713            0 : next_after_fail896:;
    2714              :     }
    2715              :   return NULL_TREE;
    2716              : }
    2717              : 
    2718              : tree
    2719        38932 : generic_simplify_511 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2720              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2721              : {
    2722        38932 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2723        38932 :   if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2724        38932 :  && !HONOR_SIGNED_ZEROS (type)
    2725              : )
    2726              :     {
    2727        38932 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
    2728        38932 :       {
    2729        38932 :         tree res_op0;
    2730        38932 :         {
    2731        38932 :           tree _o1[1], _r1;
    2732        38932 :           _o1[0] = captures[1];
    2733        38932 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2734        38932 :           res_op0 = _r1;
    2735              :         }
    2736        38932 :         tree res_op1;
    2737        38932 :         res_op1 = captures[0];
    2738        38932 :         tree _r;
    2739        38932 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2740        38932 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
    2741        38932 :         return _r;
    2742              :       }
    2743            0 : next_after_fail903:;
    2744              :     }
    2745              :   return NULL_TREE;
    2746              : }
    2747              : 
    2748              : tree
    2749           16 : generic_simplify_517 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2750              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2751              :  const combined_fn ARG_UNUSED (fmas))
    2752              : {
    2753           16 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2754           16 :   if (canonicalize_math_after_vectorization_p ()
    2755              : )
    2756              :     {
    2757              :       if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
    2758              : )
    2759              :         {
    2760              :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail910;
    2761              :           {
    2762              :             tree res_op0;
    2763              :             res_op0 = captures[1];
    2764              :             tree res_op1;
    2765              :             res_op1 = captures[2];
    2766              :             tree res_op2;
    2767              :             res_op2 = captures[3];
    2768              :             tree _r;
    2769              :             _r = maybe_build_call_expr_loc (loc, CFN_FNMS, type, 3, res_op0, res_op1, res_op2);
    2770              :             if (!_r)
    2771              :               goto next_after_fail910;
    2772              :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
    2773              :             return _r;
    2774              :           }
    2775           16 : next_after_fail910:;
    2776              :         }
    2777              :     }
    2778           16 :   return NULL_TREE;
    2779              : }
    2780              : 
    2781              : tree
    2782            0 : generic_simplify_529 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2783              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2784              :  const enum tree_code ARG_UNUSED (minmax),
    2785              :  const enum tree_code ARG_UNUSED (cmp))
    2786              : {
    2787            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2788            0 :   {
    2789            0 :  poly_int64 off0, off1;
    2790            0 :  tree base0, base1;
    2791            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2792              :  off0, off1,
    2793              : 1
    2794              : );
    2795            0 :       if (equal == 1
    2796              : )
    2797              :         {
    2798            0 :           if (minmax == MIN_EXPR
    2799              : )
    2800              :             {
    2801            0 :               if (known_le (off0, off1)
    2802              : )
    2803              :                 {
    2804            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail930;
    2805            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail930;
    2806            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail930;
    2807            0 :                   {
    2808            0 :                     tree _r;
    2809            0 :                     _r = captures[0];
    2810            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2811            0 :                     return _r;
    2812              :                   }
    2813            0 : next_after_fail930:;
    2814              :                 }
    2815              :               else
    2816              :                 {
    2817            0 :                   if (known_gt (off0, off1)
    2818              : )
    2819              :                     {
    2820            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail931;
    2821            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail931;
    2822            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail931;
    2823            0 :                       {
    2824            0 :                         tree _r;
    2825            0 :                         _r = captures[2];
    2826            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 734, __FILE__, __LINE__, true);
    2827            0 :                         return _r;
    2828              :                       }
    2829            0 : next_after_fail931:;
    2830              :                     }
    2831              :                 }
    2832              :             }
    2833              :           else
    2834              :             {
    2835            0 :               if (known_ge (off0, off1)
    2836              : )
    2837              :                 {
    2838            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail932;
    2839            0 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail932;
    2840            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail932;
    2841            0 :                   {
    2842            0 :                     tree _r;
    2843            0 :                     _r = captures[0];
    2844            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 735, __FILE__, __LINE__, true);
    2845            0 :                     return _r;
    2846              :                   }
    2847            0 : next_after_fail932:;
    2848              :                 }
    2849              :               else
    2850              :                 {
    2851            0 :                   if (known_lt (off0, off1)
    2852              : )
    2853              :                     {
    2854            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail933;
    2855            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail933;
    2856            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail933;
    2857            0 :                       {
    2858            0 :                         tree _r;
    2859            0 :                         _r = captures[2];
    2860            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 736, __FILE__, __LINE__, true);
    2861            0 :                         return _r;
    2862              :                       }
    2863            0 : next_after_fail933:;
    2864              :                     }
    2865              :                 }
    2866              :             }
    2867              :         }
    2868              :   }
    2869            0 :   return NULL_TREE;
    2870              : }
    2871              : 
    2872              : tree
    2873            0 : generic_simplify_550 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2874              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2875              :  const combined_fn ARG_UNUSED (cond_len_op))
    2876              : {
    2877            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2878            0 :   {
    2879            0 :  tree op_type = TREE_TYPE (captures[4]);
    2880            0 :       if (element_precision (type) == element_precision (op_type)
    2881              : )
    2882              :         {
    2883            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail957;
    2884            0 :           {
    2885            0 :             tree res_op0;
    2886            0 :             {
    2887            0 :               tree _o1[7], _r1;
    2888            0 :               _o1[0] = captures[0];
    2889            0 :               _o1[1] = captures[1];
    2890            0 :               _o1[2] = captures[2];
    2891            0 :               _o1[3] = captures[3];
    2892            0 :               {
    2893            0 :                 tree _o2[1], _r2;
    2894            0 :                 _o2[0] = captures[7];
    2895            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    2896              :                   {
    2897            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    2898              :                   }
    2899              :                 else
    2900              :                   _r2 = _o2[0];
    2901            0 :                 _o1[4] = _r2;
    2902              :               }
    2903            0 :               _o1[5] = captures[5];
    2904            0 :               _o1[6] = captures[6];
    2905            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]);
    2906            0 :               if (!_r1)
    2907            0 :                 goto next_after_fail957;
    2908            0 :               res_op0 = _r1;
    2909              :             }
    2910            0 :             tree _r;
    2911            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2912            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    2913            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    2914            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 751, __FILE__, __LINE__, true);
    2915            0 :             return _r;
    2916              :           }
    2917              : next_after_fail957:;
    2918              :         }
    2919              :   }
    2920              :   return NULL_TREE;
    2921              : }
    2922              : 
    2923              : tree
    2924      1813770 : generic_simplify_561 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2925              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2926              :  const enum tree_code ARG_UNUSED (cmp))
    2927              : {
    2928      1813770 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2929      1813770 :   if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
    2930      1813770 :  && (cmp != LTGT_EXPR || ! flag_trapping_math)
    2931              : )
    2932              :     {
    2933           10 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail971;
    2934           10 :       {
    2935           10 :         tree _r;
    2936           20 :         _r =  constant_boolean_node (cmp == ORDERED_EXPR || cmp == LTGT_EXPR
    2937           10 :  ? false : true, type);
    2938           10 :         if (TREE_SIDE_EFFECTS (captures[0]))
    2939            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2940           10 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2941            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2942           10 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 765, __FILE__, __LINE__, true);
    2943           10 :         return _r;
    2944              :       }
    2945            0 : next_after_fail971:;
    2946              :     }
    2947              :   return NULL_TREE;
    2948              : }
    2949              : 
    2950              : tree
    2951            0 : generic_simplify_571 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2952              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2953              :  const combined_fn ARG_UNUSED (sinhs),
    2954              :  const combined_fn ARG_UNUSED (atanhs),
    2955              :  const combined_fn ARG_UNUSED (sqrts))
    2956              : {
    2957            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2958            0 :   if (!flag_errno_math
    2959              : )
    2960              :     {
    2961            0 :       {
    2962            0 :  tree t_one = build_one_cst (type);
    2963            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail981;
    2964            0 :           {
    2965            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail981;
    2966            0 :             tree res_op0;
    2967            0 :             res_op0 = unshare_expr (captures[1]);
    2968            0 :             tree res_op1;
    2969            0 :             {
    2970            0 :               tree _o1[1], _r1;
    2971            0 :               {
    2972            0 :                 tree _o2[2], _r2;
    2973            0 :                 {
    2974            0 :                   tree _o3[2], _r3;
    2975            0 :                   _o3[0] =  t_one;
    2976            0 :                   _o3[1] = unshare_expr (captures[1]);
    2977            0 :                   _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2978            0 :                   _o2[0] = _r3;
    2979              :                 }
    2980            0 :                 {
    2981            0 :                   tree _o3[2], _r3;
    2982            0 :                   _o3[0] =  t_one;
    2983            0 :                   _o3[1] = captures[1];
    2984            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    2985            0 :                   _o2[1] = _r3;
    2986              :                 }
    2987            0 :                 _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2988            0 :                 _o1[0] = _r2;
    2989              :               }
    2990            0 :               _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
    2991            0 :               if (!_r1)
    2992            0 :                 goto next_after_fail981;
    2993            0 :               res_op1 = _r1;
    2994              :             }
    2995            0 :             tree _r;
    2996            0 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    2997            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 775, __FILE__, __LINE__, true);
    2998            0 :             return _r;
    2999              :           }
    3000              : next_after_fail981:;
    3001              :       }
    3002              :     }
    3003              :   return NULL_TREE;
    3004              : }
    3005              : 
    3006              : tree
    3007            0 : generic_simplify_587 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3008              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3009              :  const combined_fn ARG_UNUSED (SIGNBIT))
    3010              : {
    3011            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3012            0 :   if (!HONOR_SIGNED_ZEROS (captures[0])
    3013              : )
    3014              :     {
    3015            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail997;
    3016            0 :       {
    3017            0 :         tree res_op0;
    3018            0 :         {
    3019            0 :           tree _o1[2], _r1;
    3020            0 :           _o1[0] = captures[0];
    3021            0 :           _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
    3022            0 :           _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3023            0 :           res_op0 = _r1;
    3024              :         }
    3025            0 :         tree _r;
    3026            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3027            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 791, __FILE__, __LINE__, true);
    3028            0 :         return _r;
    3029              :       }
    3030            0 : next_after_fail997:;
    3031              :     }
    3032              :   return NULL_TREE;
    3033              : }
    3034              : 
    3035              : tree
    3036            0 : generic_simplify_597 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3037              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3038              : {
    3039            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3040            0 :   if (canonicalize_math_after_vectorization_p ()
    3041              : )
    3042              :     {
    3043              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1007;
    3044              :       {
    3045              :         tree res_op0;
    3046              :         res_op0 = captures[0];
    3047              :         tree res_op1;
    3048              :         res_op1 = captures[1];
    3049              :         tree res_op2;
    3050              :         res_op2 = captures[2];
    3051              :         tree _r;
    3052              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3053              :         if (!_r)
    3054              :           goto next_after_fail1007;
    3055              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
    3056              :         return _r;
    3057              :       }
    3058            0 : next_after_fail1007:;
    3059              :     }
    3060            0 :   return NULL_TREE;
    3061              : }
    3062              : 
    3063              : tree
    3064            0 : generic_simplify_606 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3065              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3066              :  const combined_fn ARG_UNUSED (ctz))
    3067              : {
    3068            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3069            0 :   {
    3070            0 :  tree t = TREE_TYPE (captures[0]);
    3071            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1016;
    3072            0 :       {
    3073            0 :         tree res_op0;
    3074            0 :         {
    3075            0 :           tree _o1[1], _r1;
    3076            0 :           _o1[0] = captures[1];
    3077            0 :           if (TREE_TYPE (_o1[0]) != t)
    3078              :             {
    3079            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3080              :             }
    3081              :           else
    3082              :             _r1 = _o1[0];
    3083            0 :           res_op0 = _r1;
    3084              :         }
    3085            0 :         tree _r;
    3086            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3087            0 :         if (!_r)
    3088            0 :           goto next_after_fail1016;
    3089            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
    3090              :         return _r;
    3091              :       }
    3092              : next_after_fail1016:;
    3093              :   }
    3094              :   return NULL_TREE;
    3095              : }
    3096              : 
    3097              : tree
    3098            0 : generic_simplify_615 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3099              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3100              :  const combined_fn ARG_UNUSED (pfun))
    3101              : {
    3102            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3103            0 :   if (INTEGRAL_TYPE_P (type)
    3104              : )
    3105              :     {
    3106            0 :       {
    3107            0 :  wide_int nz = tree_nonzero_bits (captures[0]);
    3108            0 :           if (nz == 1
    3109              : )
    3110              :             {
    3111            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1025;
    3112            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1025;
    3113            0 :               {
    3114            0 :                 tree res_op0;
    3115            0 :                 res_op0 = captures[0];
    3116            0 :                 tree _r;
    3117            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3118            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 814, __FILE__, __LINE__, true);
    3119            0 :                 return _r;
    3120              :               }
    3121            0 : next_after_fail1025:;
    3122              :             }
    3123              :           else
    3124              :             {
    3125            0 :               if (wi::popcount (nz) == 1
    3126              : )
    3127              :                 {
    3128            0 :                   {
    3129            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3130            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1026;
    3131            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
    3132            0 :                       {
    3133            0 :                         tree res_op0;
    3134            0 :                         {
    3135            0 :                           tree _o1[2], _r1;
    3136            0 :                           {
    3137            0 :                             tree _o2[1], _r2;
    3138            0 :                             _o2[0] = captures[0];
    3139            0 :                             if (TREE_TYPE (_o2[0]) != utype)
    3140              :                               {
    3141            0 :                                 _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    3142              :                               }
    3143              :                             else
    3144              :                               _r2 = _o2[0];
    3145            0 :                             _o1[0] = _r2;
    3146              :                           }
    3147            0 :                           _o1[1] =  build_int_cst (integer_type_node,
    3148            0 :  wi::ctz (nz));
    3149            0 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
    3150            0 :                           res_op0 = _r1;
    3151              :                         }
    3152            0 :                         tree _r;
    3153            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3154            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 815, __FILE__, __LINE__, true);
    3155            0 :                         return _r;
    3156              :                       }
    3157            0 : next_after_fail1026:;
    3158              :                   }
    3159              :                 }
    3160              :             }
    3161            0 :       }
    3162              :     }
    3163              :   return NULL_TREE;
    3164              : }
    3165              : 
    3166              : tree
    3167      2770267 : generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3168              : {
    3169      2770267 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3170      2770267 :   switch (TREE_CODE (_p0))
    3171              :     {
    3172         1134 :     case BIT_AND_EXPR:
    3173         1134 :       {
    3174         1134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3175         1134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3176         1134 :         switch (TREE_CODE (_q20))
    3177              :           {
    3178           33 :           case BIT_NOT_EXPR:
    3179           33 :             {
    3180           33 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3181           33 :               {
    3182           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3183           33 :                 tree res = generic_simplify_497 (loc, type, _p0, captures);
    3184           33 :                 if (res) return res;
    3185              :               }
    3186            0 :               break;
    3187              :             }
    3188         1101 :           default:;
    3189              :           }
    3190         1101 :         switch (TREE_CODE (_q21))
    3191              :           {
    3192            9 :           case BIT_NOT_EXPR:
    3193            9 :             {
    3194            9 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3195            9 :               {
    3196            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3197            9 :                 tree res = generic_simplify_497 (loc, type, _p0, captures);
    3198            9 :                 if (res) return res;
    3199              :               }
    3200            0 :               break;
    3201              :             }
    3202              :           default:;
    3203              :           }
    3204              :         break;
    3205              :       }
    3206         1209 :     case BIT_IOR_EXPR:
    3207         1209 :       {
    3208         1209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3209         1209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3210         1209 :         switch (TREE_CODE (_q20))
    3211              :           {
    3212           68 :           case BIT_NOT_EXPR:
    3213           68 :             {
    3214           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3215           68 :               {
    3216           68 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3217           68 :                 tree res = generic_simplify_498 (loc, type, _p0, captures);
    3218           68 :                 if (res) return res;
    3219              :               }
    3220            0 :               break;
    3221              :             }
    3222         1141 :           default:;
    3223              :           }
    3224         1141 :         switch (TREE_CODE (_q21))
    3225              :           {
    3226           40 :           case BIT_NOT_EXPR:
    3227           40 :             {
    3228           40 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3229           40 :               {
    3230           40 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3231           40 :                 tree res = generic_simplify_498 (loc, type, _p0, captures);
    3232           40 :                 if (res) return res;
    3233              :               }
    3234            0 :               break;
    3235              :             }
    3236              :           default:;
    3237              :           }
    3238              :         break;
    3239              :       }
    3240          148 :     case MINUS_EXPR:
    3241          148 :       {
    3242          148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3243          148 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3244          148 :         switch (TREE_CODE (_q20))
    3245              :           {
    3246            1 :           case BIT_NOT_EXPR:
    3247            1 :             {
    3248            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3249            1 :               {
    3250            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3251            1 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1065;
    3252            1 :                 {
    3253            1 :                   tree res_op0;
    3254            1 :                   res_op0 = captures[0];
    3255            1 :                   tree res_op1;
    3256            1 :                   res_op1 = captures[1];
    3257            1 :                   tree _r;
    3258            1 :                   _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3259            1 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 845, __FILE__, __LINE__, true);
    3260            1 :                   return _r;
    3261              :                 }
    3262            0 : next_after_fail1065:;
    3263              :               }
    3264            0 :               break;
    3265              :             }
    3266          147 :           default:;
    3267              :           }
    3268          147 :         {
    3269          147 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3270          147 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1066;
    3271          147 :           {
    3272          147 :             tree res_op0;
    3273          147 :             {
    3274          147 :               tree _o1[1], _r1;
    3275          147 :               _o1[0] = captures[1];
    3276          147 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3277          147 :               res_op0 = _r1;
    3278              :             }
    3279          147 :             tree res_op1;
    3280          147 :             res_op1 = captures[2];
    3281          147 :             tree _r;
    3282          147 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3283          147 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
    3284          147 :             return _r;
    3285              :           }
    3286            0 : next_after_fail1066:;
    3287              :         }
    3288            0 :         if (integer_each_onep (_q21))
    3289              :           {
    3290            0 :             {
    3291            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3292            0 :               tree res = generic_simplify_499 (loc, type, _p0, captures);
    3293            0 :               if (res) return res;
    3294              :             }
    3295              :           }
    3296              :         break;
    3297              :       }
    3298        90460 :     case PLUS_EXPR:
    3299        90460 :       {
    3300        90460 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3301        90460 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3302        90460 :         switch (TREE_CODE (_q20))
    3303              :           {
    3304           16 :           case BIT_NOT_EXPR:
    3305           16 :             {
    3306           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3307           16 :               {
    3308           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3309           16 :                 tree res = generic_simplify_500 (loc, type, _p0, captures);
    3310           16 :                 if (res) return res;
    3311              :               }
    3312            0 :               break;
    3313              :             }
    3314        90444 :           default:;
    3315              :           }
    3316        90444 :         switch (TREE_CODE (_q21))
    3317              :           {
    3318            1 :           case BIT_NOT_EXPR:
    3319            1 :             {
    3320            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3321            1 :               {
    3322            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3323            1 :                 tree res = generic_simplify_500 (loc, type, _p0, captures);
    3324            1 :                 if (res) return res;
    3325              :               }
    3326            0 :               break;
    3327              :             }
    3328        75577 :           case INTEGER_CST:
    3329        75577 :             {
    3330        75577 :               {
    3331        75577 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3332        75577 :                 if ((INTEGRAL_TYPE_P (type)
    3333        75577 :  && TYPE_UNSIGNED (type))
    3334        89439 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3335        13854 :  && may_negate_without_overflow_p (captures[2]))
    3336              : )
    3337              :                   {
    3338        75562 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1067;
    3339        75562 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1067;
    3340        75562 :                     {
    3341        75562 :                       tree res_op0;
    3342        75562 :                       {
    3343        75562 :                         tree _o1[1], _r1;
    3344        75562 :                         _o1[0] = captures[1];
    3345        75562 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3346        75562 :                         res_op0 = _r1;
    3347              :                       }
    3348        75562 :                       tree res_op1;
    3349        75562 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3350        75562 :                       tree _r;
    3351        75562 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3352        75562 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 847, __FILE__, __LINE__, true);
    3353        75562 :                       return _r;
    3354              :                     }
    3355           15 : next_after_fail1067:;
    3356              :                   }
    3357              :               }
    3358           15 :               break;
    3359              :             }
    3360        14881 :           default:;
    3361              :           }
    3362        14881 :       if (integer_all_onesp (_q21))
    3363              :         {
    3364            0 :           {
    3365            0 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3366            0 :             tree res = generic_simplify_501 (loc, type, _p0, captures);
    3367            0 :             if (res) return res;
    3368              :           }
    3369              :         }
    3370              :         break;
    3371              :       }
    3372          394 :     case RSHIFT_EXPR:
    3373          394 :       {
    3374          394 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3375          394 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3376          394 :         {
    3377          394 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3378          394 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3379              : )
    3380              :             {
    3381          291 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1068;
    3382          291 :               {
    3383          291 :                 tree res_op0;
    3384          291 :                 {
    3385          291 :                   tree _o1[1], _r1;
    3386          291 :                   _o1[0] = captures[1];
    3387          291 :                   _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3388          291 :                   if (EXPR_P (_r1))
    3389          285 :                     goto next_after_fail1068;
    3390            6 :                   res_op0 = _r1;
    3391              :                 }
    3392            6 :                 tree res_op1;
    3393            6 :                 res_op1 = captures[2];
    3394            6 :                 tree _r;
    3395            6 :                 _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    3396            6 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
    3397            6 :                 return _r;
    3398              :               }
    3399          373 : next_after_fail1068:;
    3400              :             }
    3401              :           else
    3402              :             {
    3403          206 :               if (INTEGRAL_TYPE_P (type)
    3404          206 :  && !wi::neg_p (tree_nonzero_bits (captures[1]))
    3405              : )
    3406              :                 {
    3407           15 :                   {
    3408           15 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    3409           15 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
    3410           15 :                       {
    3411           15 :                         tree res_op0;
    3412           15 :                         {
    3413           15 :                           tree _o1[2], _r1;
    3414           15 :                           {
    3415           15 :                             tree _o2[1], _r2;
    3416           15 :                             {
    3417           15 :                               tree _o3[1], _r3;
    3418           15 :                               _o3[0] = captures[1];
    3419           15 :                               if (TREE_TYPE (_o3[0]) != stype)
    3420              :                                 {
    3421           15 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
    3422              :                                 }
    3423              :                               else
    3424              :                                 _r3 = _o3[0];
    3425           15 :                               _o2[0] = _r3;
    3426              :                             }
    3427           15 :                             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3428           15 :                             if (EXPR_P (_r2))
    3429            0 :                               goto next_after_fail1069;
    3430           15 :                             _o1[0] = _r2;
    3431              :                           }
    3432           15 :                           _o1[1] = captures[2];
    3433           15 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3434           15 :                           res_op0 = _r1;
    3435              :                         }
    3436           15 :                         tree _r;
    3437           15 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3438           15 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
    3439           15 :                         return _r;
    3440              :                       }
    3441          373 : next_after_fail1069:;
    3442              :                   }
    3443              :                 }
    3444              :             }
    3445              :         }
    3446          373 :         switch (TREE_CODE (_q20))
    3447              :           {
    3448           40 :           CASE_CONVERT:
    3449           40 :             {
    3450           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3451           40 :               switch (TREE_CODE (_q30))
    3452              :                 {
    3453            2 :                 case BIT_NOT_EXPR:
    3454            2 :                   {
    3455            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3456            2 :                     {
    3457            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3458            2 :                       tree res = generic_simplify_502 (loc, type, _p0, captures);
    3459            2 :                       if (res) return res;
    3460              :                     }
    3461            1 :                     break;
    3462              :                   }
    3463              :                 default:;
    3464              :                 }
    3465              :               break;
    3466              :             }
    3467           29 :           case BIT_NOT_EXPR:
    3468           29 :             {
    3469           29 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3470           29 :               {
    3471           29 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3472           29 :                 tree res = generic_simplify_502 (loc, type, _p0, captures);
    3473           29 :                 if (res) return res;
    3474              :               }
    3475            8 :               break;
    3476              :             }
    3477              :           default:;
    3478              :           }
    3479              :         break;
    3480              :       }
    3481           86 :     case BIT_NOT_EXPR:
    3482           86 :       {
    3483           86 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3484           86 :         {
    3485           86 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3486           86 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1070;
    3487           86 :           {
    3488           86 :             tree res_op0;
    3489           86 :             res_op0 = captures[0];
    3490           86 :             tree _r;
    3491           86 :             _r = non_lvalue_loc (loc, res_op0);
    3492           86 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
    3493      2770267 :             return _r;
    3494              :           }
    3495            0 : next_after_fail1070:;
    3496              :         }
    3497            0 :         break;
    3498              :       }
    3499       995098 :     CASE_CONVERT:
    3500       995098 :       {
    3501       995098 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3502       995098 :         switch (TREE_CODE (_q20))
    3503              :           {
    3504           25 :           case NEGATE_EXPR:
    3505           25 :             {
    3506           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3507           25 :               {
    3508           25 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3509           25 :                 tree res = generic_simplify_503 (loc, type, _p0, captures);
    3510           25 :                 if (res) return res;
    3511              :               }
    3512            0 :               break;
    3513              :             }
    3514          892 :           case MINUS_EXPR:
    3515          892 :             {
    3516          892 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3517          892 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3518          892 :               if (integer_each_onep (_q31))
    3519              :                 {
    3520           28 :                   {
    3521           28 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3522           28 :                     tree res = generic_simplify_499 (loc, type, _p0, captures);
    3523           28 :                     if (res) return res;
    3524              :                   }
    3525              :                 }
    3526              :               break;
    3527              :             }
    3528        53836 :           case PLUS_EXPR:
    3529        53836 :             {
    3530        53836 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3531        53836 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3532        53836 :               if (integer_all_onesp (_q31))
    3533              :                 {
    3534         3792 :                   {
    3535         3792 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3536         3792 :                     tree res = generic_simplify_501 (loc, type, _p0, captures);
    3537         3792 :                     if (res) return res;
    3538              :                   }
    3539              :                 }
    3540              :               break;
    3541              :             }
    3542          145 :           case BIT_XOR_EXPR:
    3543          145 :             {
    3544          145 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3545          145 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3546          145 :               switch (TREE_CODE (_q31))
    3547              :                 {
    3548            7 :                 case INTEGER_CST:
    3549            7 :                   {
    3550            7 :                     {
    3551            7 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3552            7 :                       tree res = generic_simplify_504 (loc, type, _p0, captures);
    3553            7 :                       if (res) return res;
    3554              :                     }
    3555            0 :                     break;
    3556              :                   }
    3557          138 :                 default:;
    3558              :                 }
    3559          138 :               switch (TREE_CODE (_q30))
    3560              :                 {
    3561            0 :                 case BIT_NOT_EXPR:
    3562            0 :                   {
    3563            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3564            0 :                     {
    3565            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    3566            0 :                       tree res = generic_simplify_505 (loc, type, _p0, captures);
    3567            0 :                       if (res) return res;
    3568              :                     }
    3569            0 :                     break;
    3570              :                   }
    3571          138 :                 default:;
    3572              :                 }
    3573          138 :               switch (TREE_CODE (_q31))
    3574              :                 {
    3575            0 :                 case BIT_NOT_EXPR:
    3576            0 :                   {
    3577            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3578            0 :                     {
    3579            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3580            0 :                       tree res = generic_simplify_505 (loc, type, _p0, captures);
    3581            0 :                       if (res) return res;
    3582              :                     }
    3583            0 :                     break;
    3584              :                   }
    3585              :                 default:;
    3586              :                 }
    3587              :               break;
    3588              :             }
    3589           93 :           case RSHIFT_EXPR:
    3590           93 :             {
    3591           93 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3592           93 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3593           93 :               switch (TREE_CODE (_q30))
    3594              :                 {
    3595           17 :                 CASE_CONVERT:
    3596           17 :                   {
    3597           17 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3598           17 :                     switch (TREE_CODE (_q40))
    3599              :                       {
    3600            1 :                       case BIT_NOT_EXPR:
    3601            1 :                         {
    3602            1 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3603            1 :                           {
    3604            1 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3605            1 :                             tree res = generic_simplify_506 (loc, type, _p0, captures);
    3606            1 :                             if (res) return res;
    3607              :                           }
    3608            0 :                           break;
    3609              :                         }
    3610              :                       default:;
    3611              :                       }
    3612              :                     break;
    3613              :                   }
    3614            3 :                 case BIT_NOT_EXPR:
    3615            3 :                   {
    3616            3 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3617            3 :                     {
    3618            3 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3619            3 :                       tree res = generic_simplify_506 (loc, type, _p0, captures);
    3620            3 :                       if (res) return res;
    3621              :                     }
    3622            1 :                     break;
    3623              :                   }
    3624              :                 default:;
    3625              :                 }
    3626              :               break;
    3627              :             }
    3628            0 :           case LROTATE_EXPR:
    3629            0 :             {
    3630            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3631            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3632            0 :               switch (TREE_CODE (_q30))
    3633              :                 {
    3634            0 :                 CASE_CONVERT:
    3635            0 :                   {
    3636            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3637            0 :                     switch (TREE_CODE (_q40))
    3638              :                       {
    3639            0 :                       case BIT_NOT_EXPR:
    3640            0 :                         {
    3641            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3642            0 :                           {
    3643            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3644            0 :                             tree res = generic_simplify_507 (loc, type, _p0, captures, LROTATE_EXPR);
    3645            0 :                             if (res) return res;
    3646              :                           }
    3647            0 :                           break;
    3648              :                         }
    3649              :                       default:;
    3650              :                       }
    3651              :                     break;
    3652              :                   }
    3653            0 :                 case BIT_NOT_EXPR:
    3654            0 :                   {
    3655            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3656            0 :                     {
    3657            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3658            0 :                       tree res = generic_simplify_507 (loc, type, _p0, captures, LROTATE_EXPR);
    3659            0 :                       if (res) return res;
    3660              :                     }
    3661            0 :                     break;
    3662              :                   }
    3663              :                 default:;
    3664              :                 }
    3665              :               break;
    3666              :             }
    3667            0 :           case RROTATE_EXPR:
    3668            0 :             {
    3669            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3670            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3671            0 :               switch (TREE_CODE (_q30))
    3672              :                 {
    3673            0 :                 CASE_CONVERT:
    3674            0 :                   {
    3675            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3676            0 :                     switch (TREE_CODE (_q40))
    3677              :                       {
    3678            0 :                       case BIT_NOT_EXPR:
    3679            0 :                         {
    3680            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3681            0 :                           {
    3682            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3683            0 :                             tree res = generic_simplify_507 (loc, type, _p0, captures, RROTATE_EXPR);
    3684            0 :                             if (res) return res;
    3685              :                           }
    3686            0 :                           break;
    3687              :                         }
    3688              :                       default:;
    3689              :                       }
    3690              :                     break;
    3691              :                   }
    3692            0 :                 case BIT_NOT_EXPR:
    3693            0 :                   {
    3694            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3695            0 :                     {
    3696            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3697            0 :                       tree res = generic_simplify_507 (loc, type, _p0, captures, RROTATE_EXPR);
    3698            0 :                       if (res) return res;
    3699              :                     }
    3700            0 :                     break;
    3701              :                   }
    3702              :                 default:;
    3703              :                 }
    3704              :               break;
    3705              :             }
    3706              :           default:;
    3707              :           }
    3708              :         break;
    3709              :       }
    3710          120 :     case NEGATE_EXPR:
    3711          120 :       {
    3712          120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3713          120 :         {
    3714          120 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3715          120 :           tree res = generic_simplify_503 (loc, type, _p0, captures);
    3716          120 :           if (res) return res;
    3717              :         }
    3718            0 :         break;
    3719              :       }
    3720         1572 :     case BIT_XOR_EXPR:
    3721         1572 :       {
    3722         1572 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3723         1572 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3724         1572 :         switch (TREE_CODE (_q21))
    3725              :           {
    3726           22 :           case INTEGER_CST:
    3727           22 :             {
    3728           22 :               {
    3729           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3730           22 :                 tree res = generic_simplify_504 (loc, type, _p0, captures);
    3731           22 :                 if (res) return res;
    3732              :               }
    3733            0 :               break;
    3734              :             }
    3735         1550 :           default:;
    3736              :           }
    3737         1550 :         switch (TREE_CODE (_q20))
    3738              :           {
    3739            0 :           case BIT_NOT_EXPR:
    3740            0 :             {
    3741            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3742            0 :               {
    3743            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3744            0 :                 tree res = generic_simplify_505 (loc, type, _p0, captures);
    3745            0 :                 if (res) return res;
    3746              :               }
    3747            0 :               break;
    3748              :             }
    3749         1550 :           default:;
    3750              :           }
    3751         1550 :         switch (TREE_CODE (_q21))
    3752              :           {
    3753            0 :           case BIT_NOT_EXPR:
    3754            0 :             {
    3755            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3756            0 :               {
    3757            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3758            0 :                 tree res = generic_simplify_505 (loc, type, _p0, captures);
    3759            0 :                 if (res) return res;
    3760              :               }
    3761            0 :               break;
    3762              :             }
    3763         1550 :           default:;
    3764              :           }
    3765         1550 :         if (tree_truth_valued_p (_q20))
    3766              :           {
    3767           31 :             if (tree_truth_valued_p (_q21))
    3768              :               {
    3769            7 :                 {
    3770            7 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3771           14 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3772           14 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    3773              : )
    3774              :                     {
    3775            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1071;
    3776            0 :                       {
    3777            0 :                         tree res_op0;
    3778            0 :                         {
    3779            0 :                           tree _o1[2], _r1;
    3780            0 :                           _o1[0] = captures[1];
    3781            0 :                           _o1[1] = captures[2];
    3782            0 :                           _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3783            0 :                           res_op0 = _r1;
    3784              :                         }
    3785            0 :                         tree _r;
    3786            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3787            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 851, __FILE__, __LINE__, true);
    3788            0 :                         return _r;
    3789              :                       }
    3790            0 : next_after_fail1071:;
    3791              :                     }
    3792              :                 }
    3793              :               }
    3794              :           }
    3795              :         break;
    3796              :       }
    3797            0 :     case MIN_EXPR:
    3798            0 :       {
    3799            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3800            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3801            0 :         switch (TREE_CODE (_q20))
    3802              :           {
    3803            0 :           case BIT_NOT_EXPR:
    3804            0 :             {
    3805            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3806            0 :               {
    3807            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3808            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3809            0 :                 if (res) return res;
    3810              :               }
    3811            0 :               break;
    3812              :             }
    3813            0 :           default:;
    3814              :           }
    3815            0 :         switch (TREE_CODE (_q21))
    3816              :           {
    3817            0 :           case BIT_NOT_EXPR:
    3818            0 :             {
    3819            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3820            0 :               {
    3821            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3822            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3823            0 :                 if (res) return res;
    3824              :               }
    3825            0 :               break;
    3826              :             }
    3827              :           default:;
    3828              :           }
    3829              :         break;
    3830              :       }
    3831            0 :     case MAX_EXPR:
    3832            0 :       {
    3833            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3834            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3835            0 :         switch (TREE_CODE (_q20))
    3836              :           {
    3837            0 :           case BIT_NOT_EXPR:
    3838            0 :             {
    3839            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3840            0 :               {
    3841            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3842            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3843            0 :                 if (res) return res;
    3844              :               }
    3845            0 :               break;
    3846              :             }
    3847            0 :           default:;
    3848              :           }
    3849            0 :         switch (TREE_CODE (_q21))
    3850              :           {
    3851            0 :           case BIT_NOT_EXPR:
    3852            0 :             {
    3853            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3854            0 :               {
    3855            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3856            0 :                 tree res = generic_simplify_508 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3857            0 :                 if (res) return res;
    3858              :               }
    3859            0 :               break;
    3860              :             }
    3861              :           default:;
    3862              :           }
    3863              :         break;
    3864              :       }
    3865            1 :     case LROTATE_EXPR:
    3866            1 :       {
    3867            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3868            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3869            1 :         switch (TREE_CODE (_q20))
    3870              :           {
    3871            0 :           CASE_CONVERT:
    3872            0 :             {
    3873            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3874            0 :               switch (TREE_CODE (_q30))
    3875              :                 {
    3876            0 :                 case BIT_NOT_EXPR:
    3877            0 :                   {
    3878            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3879            0 :                     {
    3880            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3881            0 :                       tree res = generic_simplify_509 (loc, type, _p0, captures, LROTATE_EXPR);
    3882            0 :                       if (res) return res;
    3883              :                     }
    3884            0 :                     break;
    3885              :                   }
    3886              :                 default:;
    3887              :                 }
    3888              :               break;
    3889              :             }
    3890            1 :           case BIT_NOT_EXPR:
    3891            1 :             {
    3892            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3893            1 :               {
    3894            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3895            1 :                 tree res = generic_simplify_509 (loc, type, _p0, captures, LROTATE_EXPR);
    3896            1 :                 if (res) return res;
    3897              :               }
    3898            0 :               break;
    3899              :             }
    3900              :           default:;
    3901              :           }
    3902              :         break;
    3903              :       }
    3904            1 :     case RROTATE_EXPR:
    3905            1 :       {
    3906            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3907            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3908            1 :         switch (TREE_CODE (_q20))
    3909              :           {
    3910            0 :           CASE_CONVERT:
    3911            0 :             {
    3912            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3913            0 :               switch (TREE_CODE (_q30))
    3914              :                 {
    3915            0 :                 case BIT_NOT_EXPR:
    3916            0 :                   {
    3917            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3918            0 :                     {
    3919            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3920            0 :                       tree res = generic_simplify_509 (loc, type, _p0, captures, RROTATE_EXPR);
    3921            0 :                       if (res) return res;
    3922              :                     }
    3923            0 :                     break;
    3924              :                   }
    3925              :                 default:;
    3926              :                 }
    3927              :               break;
    3928              :             }
    3929            1 :           case BIT_NOT_EXPR:
    3930            1 :             {
    3931            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3932            1 :               {
    3933            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3934            1 :                 tree res = generic_simplify_509 (loc, type, _p0, captures, RROTATE_EXPR);
    3935            1 :                 if (res) return res;
    3936              :               }
    3937            0 :               break;
    3938              :             }
    3939              :           default:;
    3940              :           }
    3941              :         break;
    3942              :       }
    3943           32 :     case VEC_COND_EXPR:
    3944           32 :       {
    3945           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3946           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3947           32 :         tree _q22 = TREE_OPERAND (_p0, 2);
    3948           32 :         {
    3949           32 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    3950           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
    3951           32 :           {
    3952           32 :             tree res_op0;
    3953           32 :             res_op0 = captures[1];
    3954           32 :             tree res_op1;
    3955           32 :             {
    3956           32 :               tree _o1[1], _r1;
    3957           32 :               _o1[0] = captures[2];
    3958           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    3959           32 :               if (EXPR_P (_r1))
    3960            0 :                 goto next_after_fail1072;
    3961           32 :               res_op1 = _r1;
    3962              :             }
    3963           32 :             tree res_op2;
    3964           32 :             {
    3965           32 :               tree _o1[1], _r1;
    3966           32 :               _o1[0] = captures[3];
    3967           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    3968           32 :               if (EXPR_P (_r1))
    3969            0 :                 goto next_after_fail1072;
    3970           32 :               res_op2 = _r1;
    3971              :             }
    3972           32 :             tree _r;
    3973           32 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    3974           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 827, __FILE__, __LINE__, true);
    3975           32 :             return _r;
    3976              :           }
    3977            0 : next_after_fail1072:;
    3978              :         }
    3979            0 :         break;
    3980              :       }
    3981            4 :     case LT_EXPR:
    3982            4 :       {
    3983            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3984            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3985            4 :         {
    3986            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3987            4 :           tree res = generic_simplify_510 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    3988            4 :           if (res) return res;
    3989              :         }
    3990            4 :         break;
    3991              :       }
    3992            4 :     case LE_EXPR:
    3993            4 :       {
    3994            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3995            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3996            4 :         {
    3997            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3998            4 :           tree res = generic_simplify_510 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    3999            4 :           if (res) return res;
    4000              :         }
    4001            4 :         break;
    4002              :       }
    4003           63 :     case EQ_EXPR:
    4004           63 :       {
    4005           63 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4006           63 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4007           63 :         {
    4008           63 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4009           63 :           tree res = generic_simplify_510 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    4010           63 :           if (res) return res;
    4011              :         }
    4012           56 :         break;
    4013              :       }
    4014          112 :     case NE_EXPR:
    4015          112 :       {
    4016          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4017          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4018          112 :         {
    4019          112 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4020          112 :           tree res = generic_simplify_510 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    4021          112 :           if (res) return res;
    4022              :         }
    4023          107 :         break;
    4024              :       }
    4025            0 :     case GE_EXPR:
    4026            0 :       {
    4027            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4028            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4029            0 :         {
    4030            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4031            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    4032            0 :           if (res) return res;
    4033              :         }
    4034            0 :         break;
    4035              :       }
    4036           66 :     case GT_EXPR:
    4037           66 :       {
    4038           66 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4039           66 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4040           66 :         {
    4041           66 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4042           66 :           tree res = generic_simplify_510 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    4043           66 :           if (res) return res;
    4044              :         }
    4045           66 :         break;
    4046              :       }
    4047            0 :     case UNORDERED_EXPR:
    4048            0 :       {
    4049            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4050            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4051            0 :         {
    4052            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4053            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    4054            0 :           if (res) return res;
    4055              :         }
    4056            0 :         break;
    4057              :       }
    4058            0 :     case ORDERED_EXPR:
    4059            0 :       {
    4060            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4061            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4062            0 :         {
    4063            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4064            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    4065            0 :           if (res) return res;
    4066              :         }
    4067            0 :         break;
    4068              :       }
    4069            0 :     case UNLT_EXPR:
    4070            0 :       {
    4071            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4072            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4073            0 :         {
    4074            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4075            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    4076            0 :           if (res) return res;
    4077              :         }
    4078            0 :         break;
    4079              :       }
    4080            0 :     case UNLE_EXPR:
    4081            0 :       {
    4082            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4083            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4084            0 :         {
    4085            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4086            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    4087            0 :           if (res) return res;
    4088              :         }
    4089            0 :         break;
    4090              :       }
    4091            0 :     case UNGT_EXPR:
    4092            0 :       {
    4093            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4094            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4095            0 :         {
    4096            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4097            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    4098            0 :           if (res) return res;
    4099              :         }
    4100            0 :         break;
    4101              :       }
    4102            0 :     case UNGE_EXPR:
    4103            0 :       {
    4104            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4105            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4106            0 :         {
    4107            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4108            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    4109            0 :           if (res) return res;
    4110              :         }
    4111            0 :         break;
    4112              :       }
    4113            0 :     case UNEQ_EXPR:
    4114            0 :       {
    4115            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4116            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4117            0 :         {
    4118            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4119            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    4120            0 :           if (res) return res;
    4121              :         }
    4122            0 :         break;
    4123              :       }
    4124            0 :     case LTGT_EXPR:
    4125            0 :       {
    4126            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4127            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4128            0 :         {
    4129            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4130            0 :           tree res = generic_simplify_510 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    4131            0 :           if (res) return res;
    4132              :         }
    4133            0 :         break;
    4134              :       }
    4135              :     default:;
    4136              :     }
    4137              :   return NULL_TREE;
    4138              : }
    4139              : 
    4140              : tree
    4141      2219392 : generic_simplify_TRUNC_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4142              : {
    4143      2219392 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4144      2219392 :   if (integer_onep (_p1))
    4145              :     {
    4146        20804 :       {
    4147        20804 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4148        20804 :         tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4149        20804 :         if (res) return res;
    4150              :       }
    4151              :     }
    4152      2198588 :   switch (TREE_CODE (_p0))
    4153              :     {
    4154       158387 :     CASE_CONVERT:
    4155       158387 :       {
    4156       158387 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4157       158387 :         switch (TREE_CODE (_p1))
    4158              :           {
    4159        36549 :           CASE_CONVERT:
    4160        36549 :             {
    4161        36549 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4162        36549 :               switch (TREE_CODE (_q40))
    4163              :                 {
    4164            0 :                 case LSHIFT_EXPR:
    4165            0 :                   {
    4166            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4167            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4168            0 :                     if (integer_onep (_q50))
    4169              :                       {
    4170            0 :                         {
    4171            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    4172            0 :                           tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4173            0 :                           if (res) return res;
    4174              :                         }
    4175              :                       }
    4176              :                     break;
    4177              :                   }
    4178              :                 default:;
    4179              :                 }
    4180              :               break;
    4181              :             }
    4182            8 :           case LSHIFT_EXPR:
    4183            8 :             {
    4184            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4185            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4186            8 :               if (integer_onep (_q40))
    4187              :                 {
    4188            7 :                   {
    4189            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    4190            7 :                     tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4191            7 :                     if (res) return res;
    4192              :                   }
    4193              :                 }
    4194              :               break;
    4195              :             }
    4196              :           default:;
    4197              :           }
    4198              :         break;
    4199              :       }
    4200      2198588 :     default:;
    4201              :     }
    4202      2198588 :   switch (TREE_CODE (_p1))
    4203              :     {
    4204       129687 :     CASE_CONVERT:
    4205       129687 :       {
    4206       129687 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4207       129687 :         switch (TREE_CODE (_q30))
    4208              :           {
    4209            7 :           case LSHIFT_EXPR:
    4210            7 :             {
    4211            7 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4212            7 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4213            7 :               if (integer_onep (_q40))
    4214              :                 {
    4215            7 :                   {
    4216            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    4217            7 :                     tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4218            7 :                     if (res) return res;
    4219              :                   }
    4220              :                 }
    4221              :               break;
    4222              :             }
    4223              :           default:;
    4224              :           }
    4225              :         break;
    4226              :       }
    4227           33 :     case LSHIFT_EXPR:
    4228           33 :       {
    4229           33 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4230           33 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4231           33 :         if (integer_onep (_q30))
    4232              :           {
    4233           16 :             {
    4234           16 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    4235           16 :               tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4236           16 :               if (res) return res;
    4237              :             }
    4238              :           }
    4239              :         break;
    4240              :       }
    4241      2198579 :     default:;
    4242              :     }
    4243      2198579 :   if (integer_zerop (_p0))
    4244              :     {
    4245         2358 :       {
    4246         2358 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4247         2358 :         tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4248         2358 :         if (res) return res;
    4249              :       }
    4250              :     }
    4251      2196846 :   switch (TREE_CODE (_p1))
    4252              :     {
    4253        13395 :     case SSA_NAME:
    4254        13395 :       {
    4255        13395 :         {
    4256        13395 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4257        13395 :           tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4258        13395 :           if (res) return res;
    4259              :         }
    4260        13395 :         break;
    4261              :       }
    4262      2196846 :     default:;
    4263              :     }
    4264      2196846 : if (integer_minus_onep (_p1))
    4265              :   {
    4266         2520 :     {
    4267         2520 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4268         2520 :       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4269         2520 :       if (res) return res;
    4270              :     }
    4271              :   }
    4272      2195224 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4273              :     {
    4274          892 :       {
    4275          892 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4276          892 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4277          892 :         if (res) return res;
    4278              :       }
    4279              :     }
    4280      2195113 :   switch (TREE_CODE (_p1))
    4281              :     {
    4282            1 :     case ABS_EXPR:
    4283            1 :       {
    4284            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4285            1 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4286              :           {
    4287            1 :             {
    4288            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4289            1 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4290            1 :               if (res) return res;
    4291              :             }
    4292              :           }
    4293              :         break;
    4294              :       }
    4295      2195112 :     default:;
    4296              :     }
    4297      2195112 :   switch (TREE_CODE (_p0))
    4298              :     {
    4299            0 :     case ABS_EXPR:
    4300            0 :       {
    4301            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4302            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4303              :           {
    4304            0 :             {
    4305            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4306            0 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4307            0 :               if (res) return res;
    4308              :             }
    4309              :           }
    4310              :         break;
    4311              :       }
    4312      2195112 :     default:;
    4313              :     }
    4314      2195112 :   switch (TREE_CODE (_p1))
    4315              :     {
    4316          657 :     case NEGATE_EXPR:
    4317          657 :       {
    4318          657 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4319          657 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4320              :           {
    4321            1 :             {
    4322            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4323            1 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4324            1 :               if (res) return res;
    4325              :             }
    4326              :           }
    4327              :         break;
    4328              :       }
    4329      2195111 :     default:;
    4330              :     }
    4331      2195111 :   switch (TREE_CODE (_p0))
    4332              :     {
    4333          368 :     case NEGATE_EXPR:
    4334          368 :       {
    4335          368 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4336          368 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4337              :           {
    4338            0 :             {
    4339            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4340            0 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4341            0 :               if (res) return res;
    4342              :             }
    4343              :           }
    4344              :         break;
    4345              :       }
    4346         9203 :     case TRUNC_DIV_EXPR:
    4347         9203 :       {
    4348         9203 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4349         9203 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4350         9203 :         switch (TREE_CODE (_q21))
    4351              :           {
    4352         9114 :           case INTEGER_CST:
    4353         9114 :             {
    4354         9114 :               switch (TREE_CODE (_p1))
    4355              :                 {
    4356         9113 :                 case INTEGER_CST:
    4357         9113 :                   {
    4358         9113 :                     {
    4359         9113 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4360         9113 :                       tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4361         9113 :                       if (res) return res;
    4362              :                     }
    4363         9113 :                     break;
    4364              :                   }
    4365              :                 default:;
    4366              :                 }
    4367              :               break;
    4368              :             }
    4369              :           default:;
    4370              :           }
    4371              :         break;
    4372              :       }
    4373       158346 :     CASE_CONVERT:
    4374       158346 :       {
    4375       158346 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4376       158346 :         switch (TREE_CODE (_q20))
    4377              :           {
    4378            0 :           case BIT_AND_EXPR:
    4379            0 :             {
    4380            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4381            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4382            0 :               switch (TREE_CODE (_q31))
    4383              :                 {
    4384            0 :                 case INTEGER_CST:
    4385            0 :                   {
    4386            0 :                     switch (TREE_CODE (_p1))
    4387              :                       {
    4388            0 :                       case INTEGER_CST:
    4389            0 :                         {
    4390            0 :                           {
    4391            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4392            0 :                             tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4393            0 :                             if (res) return res;
    4394              :                           }
    4395            0 :                           break;
    4396              :                         }
    4397              :                       default:;
    4398              :                       }
    4399              :                     break;
    4400              :                   }
    4401              :                 default:;
    4402              :                 }
    4403              :               break;
    4404              :             }
    4405              :           default:;
    4406              :           }
    4407              :         break;
    4408              :       }
    4409        45702 :     case BIT_AND_EXPR:
    4410        45702 :       {
    4411        45702 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4412        45702 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4413        45702 :         switch (TREE_CODE (_q21))
    4414              :           {
    4415        45676 :           case INTEGER_CST:
    4416        45676 :             {
    4417        45676 :               switch (TREE_CODE (_p1))
    4418              :                 {
    4419        45672 :                 case INTEGER_CST:
    4420        45672 :                   {
    4421        45672 :                     {
    4422        45672 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4423        45672 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4424        45672 :                       if (res) return res;
    4425              :                     }
    4426        45671 :                     break;
    4427              :                   }
    4428              :                 default:;
    4429              :                 }
    4430              :               break;
    4431              :             }
    4432              :           default:;
    4433              :           }
    4434              :         break;
    4435              :       }
    4436        36194 :     case MULT_EXPR:
    4437        36194 :       {
    4438        36194 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4439        36194 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4440        36194 :         if (integer_pow2p (_q21))
    4441              :           {
    4442         5941 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4443              :               {
    4444         5579 :                 {
    4445         5579 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4446         5579 :                   tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4447         5579 :                   if (res) return res;
    4448              :                 }
    4449              :               }
    4450              :           }
    4451        30756 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4452              :           {
    4453          163 :             {
    4454          163 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4455          163 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4456          163 :               if (res) return res;
    4457              :             }
    4458              :           }
    4459        30608 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4460              :           {
    4461           22 :             {
    4462           22 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4463           22 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4464           22 :               if (res) return res;
    4465              :             }
    4466              :           }
    4467        30599 :         switch (TREE_CODE (_q21))
    4468              :           {
    4469        30273 :           case INTEGER_CST:
    4470        30273 :             {
    4471        30273 :               switch (TREE_CODE (_p1))
    4472              :                 {
    4473            3 :                 case MULT_EXPR:
    4474            3 :                   {
    4475            3 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4476            3 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4477            3 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4478              :                       {
    4479            3 :                         switch (TREE_CODE (_q51))
    4480              :                           {
    4481            3 :                           case INTEGER_CST:
    4482            3 :                             {
    4483            3 :                               {
    4484            3 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4485            3 :                                 tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4486            3 :                                 if (res) return res;
    4487              :                               }
    4488            0 :                               break;
    4489              :                             }
    4490              :                           default:;
    4491              :                           }
    4492              :                       }
    4493              :                     break;
    4494              :                   }
    4495              :                 default:;
    4496              :                 }
    4497              :               break;
    4498              :             }
    4499              :           default:;
    4500              :           }
    4501              :         break;
    4502              :       }
    4503            0 :     case VEC_COND_EXPR:
    4504            0 :       {
    4505            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4506            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4507            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4508            0 :         switch (TREE_CODE (_p1))
    4509              :           {
    4510            0 :           case VEC_COND_EXPR:
    4511            0 :             {
    4512            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4513            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4514            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4515            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4516              :                 {
    4517            0 :                   {
    4518            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4519            0 :                     if (VECTOR_TYPE_P (type)
    4520            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4521              :  || types_match (type, TREE_TYPE (captures[2]))
    4522              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4523              :  || (optimize_vectors_before_lowering_p ()
    4524              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4525              : )
    4526              :                       {
    4527            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
    4528            0 :                         {
    4529            0 :                           tree res_op0;
    4530            0 :                           res_op0 = captures[1];
    4531            0 :                           tree res_op1;
    4532            0 :                           {
    4533            0 :                             tree _o1[2], _r1;
    4534            0 :                             _o1[0] = captures[2];
    4535            0 :                             _o1[1] = captures[5];
    4536            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4537            0 :                             if (EXPR_P (_r1))
    4538            0 :                               goto next_after_fail1573;
    4539            0 :                             res_op1 = _r1;
    4540              :                           }
    4541            0 :                           tree res_op2;
    4542            0 :                           {
    4543            0 :                             tree _o1[2], _r1;
    4544            0 :                             _o1[0] = captures[3];
    4545            0 :                             _o1[1] = captures[6];
    4546            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4547            0 :                             if (EXPR_P (_r1))
    4548            0 :                               goto next_after_fail1573;
    4549            0 :                             res_op2 = _r1;
    4550              :                           }
    4551            0 :                           tree _r;
    4552            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4553            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    4554            0 :                           return _r;
    4555              :                         }
    4556            0 : next_after_fail1573:;
    4557              :                       }
    4558              :                   }
    4559              :                 }
    4560              :               break;
    4561              :             }
    4562            0 :           default:;
    4563              :           }
    4564            0 :         {
    4565            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4566            0 :           if (VECTOR_TYPE_P (type)
    4567            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4568              :  || types_match (type, TREE_TYPE (captures[2]))
    4569              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4570              :  || (optimize_vectors_before_lowering_p ()
    4571              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4572              : )
    4573              :             {
    4574            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
    4575            0 :               {
    4576            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1574;
    4577            0 :                 tree res_op0;
    4578            0 :                 res_op0 = captures[1];
    4579            0 :                 tree res_op1;
    4580            0 :                 {
    4581            0 :                   tree _o1[2], _r1;
    4582            0 :                   _o1[0] = captures[2];
    4583            0 :                   _o1[1] = unshare_expr (captures[4]);
    4584            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4585            0 :                   if (EXPR_P (_r1))
    4586            0 :                     goto next_after_fail1574;
    4587            0 :                   res_op1 = _r1;
    4588              :                 }
    4589            0 :                 tree res_op2;
    4590            0 :                 {
    4591            0 :                   tree _o1[2], _r1;
    4592            0 :                   _o1[0] = captures[3];
    4593            0 :                   _o1[1] = captures[4];
    4594            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4595            0 :                   if (EXPR_P (_r1))
    4596            0 :                     goto next_after_fail1574;
    4597            0 :                   res_op2 = _r1;
    4598              :                 }
    4599            0 :                 tree _r;
    4600            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4601            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    4602            0 :                 return _r;
    4603              :               }
    4604            0 : next_after_fail1574:;
    4605              :             }
    4606              :         }
    4607            0 :         break;
    4608              :       }
    4609      2189512 :     default:;
    4610              :     }
    4611      2189512 : if (integer_onep (_p0))
    4612              :   {
    4613         1225 :     {
    4614         1225 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4615         1225 :       if (INTEGRAL_TYPE_P (type)
    4616         1222 :  && TYPE_PRECISION (type) > 1
    4617         1222 :  && !integer_zerop (captures[1])
    4618         1693 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4619              : )
    4620              :         {
    4621          411 :           if (TYPE_UNSIGNED (type)
    4622              : )
    4623              :             {
    4624           54 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
    4625           54 :               {
    4626           54 :                 tree res_op0;
    4627           54 :                 {
    4628           54 :                   tree _o1[2], _r1;
    4629           54 :                   _o1[0] = captures[1];
    4630           54 :                   _o1[1] =  build_one_cst (type);
    4631           54 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4632           54 :                   res_op0 = _r1;
    4633              :                 }
    4634           54 :                 tree _r;
    4635           54 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4636           54 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    4637            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4638           54 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 989, __FILE__, __LINE__, true);
    4639           54 :                 return _r;
    4640              :               }
    4641            0 : next_after_fail1575:;
    4642              :             }
    4643              :           else
    4644              :             {
    4645          357 :               if (fold_before_rtl_expansion_p ()
    4646              : )
    4647              :                 {
    4648            0 :                   {
    4649            0 :  tree utype = unsigned_type_for (type);
    4650            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
    4651            0 :                       {
    4652            0 :                         if (! tree_invariant_p (captures[1])) goto next_after_fail1576;
    4653            0 :                         tree res_op0;
    4654            0 :                         {
    4655            0 :                           tree _o1[2], _r1;
    4656            0 :                           {
    4657            0 :                             tree _o2[2], _r2;
    4658            0 :                             {
    4659            0 :                               tree _o3[1], _r3;
    4660            0 :                               _o3[0] = unshare_expr (captures[1]);
    4661            0 :                               if (TREE_TYPE (_o3[0]) != utype)
    4662              :                                 {
    4663            0 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    4664              :                                 }
    4665              :                               else
    4666              :                                 _r3 = _o3[0];
    4667            0 :                               _o2[0] = _r3;
    4668              :                             }
    4669            0 :                             _o2[1] =  build_one_cst (utype);
    4670            0 :                             _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4671            0 :                             _o1[0] = _r2;
    4672              :                           }
    4673            0 :                           _o1[1] =  build_int_cst (utype, 2);
    4674            0 :                           _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4675            0 :                           res_op0 = _r1;
    4676              :                         }
    4677            0 :                         tree res_op1;
    4678            0 :                         res_op1 = captures[1];
    4679            0 :                         tree res_op2;
    4680            0 :                         res_op2 =  build_zero_cst (type);
    4681            0 :                         tree _r;
    4682            0 :                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4683            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4684            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4685            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 990, __FILE__, __LINE__, true);
    4686            0 :                         return _r;
    4687              :                       }
    4688         1171 : next_after_fail1576:;
    4689              :                   }
    4690              :                 }
    4691              :             }
    4692              :         }
    4693              :     }
    4694              :   }
    4695      2189458 :   switch (TREE_CODE (_p1))
    4696              :     {
    4697            0 :     case VEC_COND_EXPR:
    4698            0 :       {
    4699            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4700            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4701            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4702            0 :         {
    4703            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4704            0 :           if (VECTOR_TYPE_P (type)
    4705            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4706              :  || types_match (type, TREE_TYPE (captures[3]))
    4707              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4708              :  || (optimize_vectors_before_lowering_p ()
    4709              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4710              : )
    4711              :             {
    4712            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
    4713            0 :               {
    4714            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1577;
    4715            0 :                 tree res_op0;
    4716            0 :                 res_op0 = captures[2];
    4717            0 :                 tree res_op1;
    4718            0 :                 {
    4719            0 :                   tree _o1[2], _r1;
    4720            0 :                   _o1[0] = unshare_expr (captures[0]);
    4721            0 :                   _o1[1] = captures[3];
    4722            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4723            0 :                   if (EXPR_P (_r1))
    4724            0 :                     goto next_after_fail1577;
    4725            0 :                   res_op1 = _r1;
    4726              :                 }
    4727            0 :                 tree res_op2;
    4728            0 :                 {
    4729            0 :                   tree _o1[2], _r1;
    4730            0 :                   _o1[0] = captures[0];
    4731            0 :                   _o1[1] = captures[4];
    4732            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4733            0 :                   if (EXPR_P (_r1))
    4734            0 :                     goto next_after_fail1577;
    4735            0 :                   res_op2 = _r1;
    4736              :                 }
    4737            0 :                 tree _r;
    4738            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4739            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    4740            0 :                 return _r;
    4741              :               }
    4742            0 : next_after_fail1577:;
    4743              :             }
    4744              :         }
    4745            0 :         break;
    4746              :       }
    4747              :     default:;
    4748              :     }
    4749              :   return NULL_TREE;
    4750              : }
    4751              : 
    4752              : tree
    4753            0 : generic_simplify_ROUND_DIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    4754              : {
    4755            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4756            0 :   if (integer_onep (_p1))
    4757              :     {
    4758            0 :       {
    4759            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4760            0 :         tree res = generic_simplify_181 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4761            0 :         if (res) return res;
    4762              :       }
    4763              :     }
    4764            0 :   if (integer_zerop (_p0))
    4765              :     {
    4766            0 :       {
    4767            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4768            0 :         tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4769            0 :         if (res) return res;
    4770              :       }
    4771              :     }
    4772            0 :   switch (TREE_CODE (_p1))
    4773              :     {
    4774            0 :     case SSA_NAME:
    4775            0 :       {
    4776            0 :         {
    4777            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4778            0 :           tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4779            0 :           if (res) return res;
    4780              :         }
    4781            0 :         break;
    4782              :       }
    4783            0 :     default:;
    4784              :     }
    4785            0 : if (integer_minus_onep (_p1))
    4786              :   {
    4787            0 :     {
    4788            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4789            0 :       tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4790            0 :       if (res) return res;
    4791              :     }
    4792              :   }
    4793            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4794              :     {
    4795            0 :       {
    4796            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4797            0 :         tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4798            0 :         if (res) return res;
    4799              :       }
    4800              :     }
    4801            0 :   switch (TREE_CODE (_p1))
    4802              :     {
    4803            0 :     case ABS_EXPR:
    4804            0 :       {
    4805            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4806            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4807              :           {
    4808            0 :             {
    4809            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4810            0 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4811            0 :               if (res) return res;
    4812              :             }
    4813              :           }
    4814              :         break;
    4815              :       }
    4816            0 :     default:;
    4817              :     }
    4818            0 :   switch (TREE_CODE (_p0))
    4819              :     {
    4820            0 :     case ABS_EXPR:
    4821            0 :       {
    4822            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4823            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4824              :           {
    4825            0 :             {
    4826            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4827            0 :               tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4828            0 :               if (res) return res;
    4829              :             }
    4830              :           }
    4831              :         break;
    4832              :       }
    4833            0 :     default:;
    4834              :     }
    4835            0 :   switch (TREE_CODE (_p1))
    4836              :     {
    4837            0 :     case NEGATE_EXPR:
    4838            0 :       {
    4839            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4840            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4841              :           {
    4842            0 :             {
    4843            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4844            0 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4845            0 :               if (res) return res;
    4846              :             }
    4847              :           }
    4848              :         break;
    4849              :       }
    4850            0 :     default:;
    4851              :     }
    4852            0 :   switch (TREE_CODE (_p0))
    4853              :     {
    4854            0 :     case NEGATE_EXPR:
    4855            0 :       {
    4856            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4857            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4858              :           {
    4859            0 :             {
    4860            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4861            0 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4862            0 :               if (res) return res;
    4863              :             }
    4864              :           }
    4865              :         break;
    4866              :       }
    4867            0 :     CASE_CONVERT:
    4868            0 :       {
    4869            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4870            0 :         switch (TREE_CODE (_q20))
    4871              :           {
    4872            0 :           case BIT_AND_EXPR:
    4873            0 :             {
    4874            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4875            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4876            0 :               switch (TREE_CODE (_q31))
    4877              :                 {
    4878            0 :                 case INTEGER_CST:
    4879            0 :                   {
    4880            0 :                     switch (TREE_CODE (_p1))
    4881              :                       {
    4882            0 :                       case INTEGER_CST:
    4883            0 :                         {
    4884            0 :                           {
    4885            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4886            0 :                             tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4887            0 :                             if (res) return res;
    4888              :                           }
    4889            0 :                           break;
    4890              :                         }
    4891              :                       default:;
    4892              :                       }
    4893              :                     break;
    4894              :                   }
    4895              :                 default:;
    4896              :                 }
    4897              :               break;
    4898              :             }
    4899              :           default:;
    4900              :           }
    4901              :         break;
    4902              :       }
    4903            0 :     case BIT_AND_EXPR:
    4904            0 :       {
    4905            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4906            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4907            0 :         switch (TREE_CODE (_q21))
    4908              :           {
    4909            0 :           case INTEGER_CST:
    4910            0 :             {
    4911            0 :               switch (TREE_CODE (_p1))
    4912              :                 {
    4913            0 :                 case INTEGER_CST:
    4914            0 :                   {
    4915            0 :                     {
    4916            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4917            0 :                       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4918            0 :                       if (res) return res;
    4919              :                     }
    4920            0 :                     break;
    4921              :                   }
    4922              :                 default:;
    4923              :                 }
    4924              :               break;
    4925              :             }
    4926              :           default:;
    4927              :           }
    4928              :         break;
    4929              :       }
    4930            0 :     case MULT_EXPR:
    4931            0 :       {
    4932            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4933            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4934            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4935              :           {
    4936            0 :             {
    4937            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4938            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4939            0 :               if (res) return res;
    4940              :             }
    4941              :           }
    4942            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4943              :           {
    4944            0 :             {
    4945            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4946            0 :               tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4947            0 :               if (res) return res;
    4948              :             }
    4949              :           }
    4950            0 :         switch (TREE_CODE (_q21))
    4951              :           {
    4952            0 :           case INTEGER_CST:
    4953            0 :             {
    4954            0 :               switch (TREE_CODE (_p1))
    4955              :                 {
    4956            0 :                 case MULT_EXPR:
    4957            0 :                   {
    4958            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4959            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4960            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4961              :                       {
    4962            0 :                         switch (TREE_CODE (_q51))
    4963              :                           {
    4964            0 :                           case INTEGER_CST:
    4965            0 :                             {
    4966            0 :                               {
    4967            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4968            0 :                                 tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4969            0 :                                 if (res) return res;
    4970              :                               }
    4971            0 :                               break;
    4972              :                             }
    4973              :                           default:;
    4974              :                           }
    4975              :                       }
    4976              :                     break;
    4977              :                   }
    4978              :                 default:;
    4979              :                 }
    4980              :               break;
    4981              :             }
    4982              :           default:;
    4983              :           }
    4984              :         break;
    4985              :       }
    4986            0 :     case VEC_COND_EXPR:
    4987            0 :       {
    4988            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4989            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4990            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4991            0 :         switch (TREE_CODE (_p1))
    4992              :           {
    4993            0 :           case VEC_COND_EXPR:
    4994            0 :             {
    4995            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4996            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4997            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4998            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4999              :                 {
    5000            0 :                   {
    5001            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5002            0 :                     if (VECTOR_TYPE_P (type)
    5003            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5004              :  || types_match (type, TREE_TYPE (captures[2]))
    5005              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5006              :  || (optimize_vectors_before_lowering_p ()
    5007              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5008              : )
    5009              :                       {
    5010            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1584;
    5011            0 :                         {
    5012            0 :                           tree res_op0;
    5013            0 :                           res_op0 = captures[1];
    5014            0 :                           tree res_op1;
    5015            0 :                           {
    5016            0 :                             tree _o1[2], _r1;
    5017            0 :                             _o1[0] = captures[2];
    5018            0 :                             _o1[1] = captures[5];
    5019            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5020            0 :                             if (EXPR_P (_r1))
    5021            0 :                               goto next_after_fail1584;
    5022            0 :                             res_op1 = _r1;
    5023              :                           }
    5024            0 :                           tree res_op2;
    5025            0 :                           {
    5026            0 :                             tree _o1[2], _r1;
    5027            0 :                             _o1[0] = captures[3];
    5028            0 :                             _o1[1] = captures[6];
    5029            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5030            0 :                             if (EXPR_P (_r1))
    5031            0 :                               goto next_after_fail1584;
    5032            0 :                             res_op2 = _r1;
    5033              :                           }
    5034            0 :                           tree _r;
    5035            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5036            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    5037            0 :                           return _r;
    5038              :                         }
    5039            0 : next_after_fail1584:;
    5040              :                       }
    5041              :                   }
    5042              :                 }
    5043              :               break;
    5044              :             }
    5045            0 :           default:;
    5046              :           }
    5047            0 :         {
    5048            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5049            0 :           if (VECTOR_TYPE_P (type)
    5050            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5051              :  || types_match (type, TREE_TYPE (captures[2]))
    5052              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5053              :  || (optimize_vectors_before_lowering_p ()
    5054              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5055              : )
    5056              :             {
    5057            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
    5058            0 :               {
    5059            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1585;
    5060            0 :                 tree res_op0;
    5061            0 :                 res_op0 = captures[1];
    5062            0 :                 tree res_op1;
    5063            0 :                 {
    5064            0 :                   tree _o1[2], _r1;
    5065            0 :                   _o1[0] = captures[2];
    5066            0 :                   _o1[1] = unshare_expr (captures[4]);
    5067            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5068            0 :                   if (EXPR_P (_r1))
    5069            0 :                     goto next_after_fail1585;
    5070            0 :                   res_op1 = _r1;
    5071              :                 }
    5072            0 :                 tree res_op2;
    5073            0 :                 {
    5074            0 :                   tree _o1[2], _r1;
    5075            0 :                   _o1[0] = captures[3];
    5076            0 :                   _o1[1] = captures[4];
    5077            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5078            0 :                   if (EXPR_P (_r1))
    5079            0 :                     goto next_after_fail1585;
    5080            0 :                   res_op2 = _r1;
    5081              :                 }
    5082            0 :                 tree _r;
    5083            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5084            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    5085            0 :                 return _r;
    5086              :               }
    5087            0 : next_after_fail1585:;
    5088              :             }
    5089              :         }
    5090            0 :         break;
    5091              :       }
    5092            0 :     default:;
    5093              :     }
    5094            0 :   switch (TREE_CODE (_p1))
    5095              :     {
    5096            0 :     case VEC_COND_EXPR:
    5097            0 :       {
    5098            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5099            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5100            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5101            0 :         {
    5102            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5103            0 :           if (VECTOR_TYPE_P (type)
    5104            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5105              :  || types_match (type, TREE_TYPE (captures[3]))
    5106              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5107              :  || (optimize_vectors_before_lowering_p ()
    5108              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5109              : )
    5110              :             {
    5111            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
    5112            0 :               {
    5113            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1586;
    5114            0 :                 tree res_op0;
    5115            0 :                 res_op0 = captures[2];
    5116            0 :                 tree res_op1;
    5117            0 :                 {
    5118            0 :                   tree _o1[2], _r1;
    5119            0 :                   _o1[0] = unshare_expr (captures[0]);
    5120            0 :                   _o1[1] = captures[3];
    5121            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5122            0 :                   if (EXPR_P (_r1))
    5123            0 :                     goto next_after_fail1586;
    5124            0 :                   res_op1 = _r1;
    5125              :                 }
    5126            0 :                 tree res_op2;
    5127            0 :                 {
    5128            0 :                   tree _o1[2], _r1;
    5129            0 :                   _o1[0] = captures[0];
    5130            0 :                   _o1[1] = captures[4];
    5131            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5132            0 :                   if (EXPR_P (_r1))
    5133            0 :                     goto next_after_fail1586;
    5134            0 :                   res_op2 = _r1;
    5135              :                 }
    5136            0 :                 tree _r;
    5137            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5138            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5139            0 :                 return _r;
    5140              :               }
    5141            0 : next_after_fail1586:;
    5142              :             }
    5143              :         }
    5144            0 :         break;
    5145              :       }
    5146              :     default:;
    5147              :     }
    5148              :   return NULL_TREE;
    5149              : }
    5150              : 
    5151              : tree
    5152      6224538 : generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5153              : {
    5154      6224538 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5155      6224538 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5156              :     {
    5157          762 :       {
    5158          762 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5159            3 :         if (FLOAT_TYPE_P (type)
    5160          762 :  && ! HONOR_NANS (type)
    5161          764 :  && ! HONOR_INFINITIES (type)
    5162              : )
    5163              :           {
    5164            2 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1593;
    5165            2 :             {
    5166            2 :               tree _r;
    5167            2 :               _r =  build_one_cst (type);
    5168            2 :               if (TREE_SIDE_EFFECTS (captures[0]))
    5169            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5170            2 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 991, __FILE__, __LINE__, true);
    5171            2 :               return _r;
    5172              :             }
    5173            0 : next_after_fail1593:;
    5174              :           }
    5175              :       }
    5176              :     }
    5177      6224536 :   switch (TREE_CODE (_p1))
    5178              :     {
    5179        18854 :     case NEGATE_EXPR:
    5180        18854 :       {
    5181        18854 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5182        18854 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5183              :           {
    5184            0 :             {
    5185            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5186            0 :               tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
    5187            0 :               if (res) return res;
    5188              :             }
    5189              :           }
    5190              :         break;
    5191              :       }
    5192      6224536 :     default:;
    5193              :     }
    5194      6224536 :   switch (TREE_CODE (_p0))
    5195              :     {
    5196        94352 :     case NEGATE_EXPR:
    5197        94352 :       {
    5198        94352 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5199        94352 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5200              :           {
    5201            2 :             {
    5202            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5203            2 :               tree res = generic_simplify_330 (loc, type, _p0, _p1, captures);
    5204            2 :               if (res) return res;
    5205              :             }
    5206              :           }
    5207              :         break;
    5208              :       }
    5209       541136 :     CASE_CONVERT:
    5210       541136 :       {
    5211       541136 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5212       541136 :         switch (TREE_CODE (_p1))
    5213              :           {
    5214        25081 :           CASE_CONVERT:
    5215        25081 :             {
    5216        25081 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5217        25081 :               switch (TREE_CODE (_q40))
    5218              :                 {
    5219            0 :                 case ABS_EXPR:
    5220            0 :                   {
    5221            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5222            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5223              :                       {
    5224            0 :                         {
    5225            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5226            0 :                           tree res = generic_simplify_331 (loc, type, _p0, _p1, captures);
    5227            0 :                           if (res) return res;
    5228              :                         }
    5229              :                       }
    5230              :                     break;
    5231              :                   }
    5232              :                 default:;
    5233              :                 }
    5234              :               break;
    5235              :             }
    5236       541136 :           default:;
    5237              :           }
    5238       541136 :         switch (TREE_CODE (_q20))
    5239              :           {
    5240            0 :           case ABS_EXPR:
    5241            0 :             {
    5242            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5243            0 :               switch (TREE_CODE (_p1))
    5244              :                 {
    5245            0 :                 CASE_CONVERT:
    5246            0 :                   {
    5247            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5248            0 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    5249              :                       {
    5250            0 :                         {
    5251            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    5252            0 :                           tree res = generic_simplify_331 (loc, type, _p0, _p1, captures);
    5253            0 :                           if (res) return res;
    5254              :                         }
    5255              :                       }
    5256              :                     break;
    5257              :                   }
    5258              :                 default:;
    5259              :                 }
    5260              :               break;
    5261              :             }
    5262              :           default:;
    5263              :           }
    5264              :         break;
    5265              :       }
    5266      6224536 :     default:;
    5267              :     }
    5268      6224536 :   switch (TREE_CODE (_p1))
    5269              :     {
    5270           48 :     case ABS_EXPR:
    5271           48 :       {
    5272           48 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5273           48 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5274              :           {
    5275            0 :             {
    5276            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5277            0 :               tree res = generic_simplify_331 (loc, type, _p0, _p1, captures);
    5278            0 :               if (res) return res;
    5279              :             }
    5280              :           }
    5281              :         break;
    5282              :       }
    5283      6224536 :     default:;
    5284              :     }
    5285      6224536 :   switch (TREE_CODE (_p0))
    5286              :     {
    5287          146 :     case ABS_EXPR:
    5288          146 :       {
    5289          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5290          146 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5291              :           {
    5292            0 :             {
    5293            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5294            0 :               tree res = generic_simplify_331 (loc, type, _p0, _p1, captures);
    5295            0 :               if (res) return res;
    5296              :             }
    5297              :           }
    5298              :         break;
    5299              :       }
    5300      6224536 :     default:;
    5301              :     }
    5302      6224536 :   if (real_onep (_p1))
    5303              :     {
    5304           86 :       {
    5305           86 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5306           86 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5307              : )
    5308              :           {
    5309           86 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1594;
    5310           86 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1594;
    5311           86 :             {
    5312           86 :               tree res_op0;
    5313           86 :               res_op0 = captures[0];
    5314           86 :               tree _r;
    5315           86 :               _r = non_lvalue_loc (loc, res_op0);
    5316           86 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
    5317           86 :               return _r;
    5318              :             }
    5319              : next_after_fail1594:;
    5320              :           }
    5321              :       }
    5322              :     }
    5323      6224450 :   if (real_minus_onep (_p1))
    5324              :     {
    5325           36 :       {
    5326           36 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5327           36 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5328              : )
    5329              :           {
    5330           36 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1595;
    5331           36 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
    5332           36 :             {
    5333           36 :               tree res_op0;
    5334           36 :               res_op0 = captures[0];
    5335           36 :               tree _r;
    5336           36 :               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    5337           36 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
    5338           36 :               return _r;
    5339              :             }
    5340              : next_after_fail1595:;
    5341              :           }
    5342              :       }
    5343              :     }
    5344      6224414 :   switch (TREE_CODE (_p0))
    5345              :     {
    5346        37298 :     case RDIV_EXPR:
    5347        37298 :       {
    5348        37298 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5349        37298 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5350        37298 :         {
    5351        37298 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5352        37298 :           if (flag_reciprocal_math
    5353              : )
    5354              :             {
    5355           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
    5356           12 :               {
    5357           12 :                 tree res_op0;
    5358           12 :                 res_op0 = captures[1];
    5359           12 :                 tree res_op1;
    5360           12 :                 {
    5361           12 :                   tree _o1[2], _r1;
    5362           12 :                   _o1[0] = captures[2];
    5363           12 :                   _o1[1] = captures[3];
    5364           12 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5365           12 :                   res_op1 = _r1;
    5366              :                 }
    5367           12 :                 tree _r;
    5368           12 :                 _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5369           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 994, __FILE__, __LINE__, true);
    5370           12 :                 return _r;
    5371              :               }
    5372            0 : next_after_fail1596:;
    5373              :             }
    5374              :         }
    5375        37286 :         break;
    5376              :       }
    5377      6224402 :     default:;
    5378              :     }
    5379      6224402 :   switch (TREE_CODE (_p1))
    5380              :     {
    5381       955465 :     case MULT_EXPR:
    5382       955465 :       {
    5383       955465 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5384       955465 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5385       955465 :         switch (TREE_CODE (_q31))
    5386              :           {
    5387       374998 :           case REAL_CST:
    5388       374998 :             {
    5389       374998 :               {
    5390       374998 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5391       374998 :                 if (flag_reciprocal_math
    5392              : )
    5393              :                   {
    5394          224 :                     {
    5395          224 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
    5396          224 :                         if (tem
    5397              : )
    5398              :                           {
    5399          224 :                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1597;
    5400          224 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1597;
    5401          224 :                             {
    5402          224 :                               tree res_op0;
    5403          224 :                               {
    5404          224 :                                 tree _o1[2], _r1;
    5405          224 :                                 _o1[0] = captures[0];
    5406          224 :                                 _o1[1] =  tem;
    5407          224 :                                 _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5408          224 :                                 res_op0 = _r1;
    5409              :                               }
    5410          224 :                               tree res_op1;
    5411          224 :                               res_op1 = captures[2];
    5412          224 :                               tree _r;
    5413          224 :                               _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5414          224 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 995, __FILE__, __LINE__, true);
    5415          224 :                               return _r;
    5416              :                             }
    5417       374774 : next_after_fail1597:;
    5418              :                           }
    5419              :                     }
    5420              :                   }
    5421              :               }
    5422       374774 :               break;
    5423              :             }
    5424              :           default:;
    5425              :           }
    5426              :         break;
    5427              :       }
    5428            1 :     case RDIV_EXPR:
    5429            1 :       {
    5430            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5431            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5432            1 :         {
    5433            1 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5434            1 :           if (flag_reciprocal_math
    5435              : )
    5436              :             {
    5437            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1598;
    5438            1 :               {
    5439            1 :                 tree res_op0;
    5440            1 :                 {
    5441            1 :                   tree _o1[2], _r1;
    5442            1 :                   _o1[0] = captures[0];
    5443            1 :                   _o1[1] = captures[2];
    5444            1 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5445            1 :                   res_op0 = _r1;
    5446              :                 }
    5447            1 :                 tree res_op1;
    5448            1 :                 res_op1 = captures[3];
    5449            1 :                 tree _r;
    5450            1 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5451            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 996, __FILE__, __LINE__, true);
    5452            1 :                 return _r;
    5453              :               }
    5454            0 : next_after_fail1598:;
    5455              :             }
    5456              :         }
    5457            0 :         break;
    5458              :       }
    5459        18854 :     case NEGATE_EXPR:
    5460        18854 :       {
    5461        18854 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5462        18854 :         {
    5463        18854 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5464        18854 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
    5465        18854 :           {
    5466        18854 :             tree res_op0;
    5467        18854 :             {
    5468        18854 :               tree _o1[1], _r1;
    5469        18854 :               _o1[0] = captures[0];
    5470        18854 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5471        18854 :               res_op0 = _r1;
    5472              :             }
    5473        18854 :             tree res_op1;
    5474        18854 :             res_op1 = captures[1];
    5475        18854 :             tree _r;
    5476        18854 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5477        18854 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
    5478        18854 :             return _r;
    5479              :           }
    5480            0 : next_after_fail1599:;
    5481              :         }
    5482            0 :         break;
    5483              :       }
    5484      1058916 :     case REAL_CST:
    5485      1058916 :       {
    5486      1058916 :         {
    5487      1058916 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5488      1058916 :           if (optimize
    5489              : )
    5490              :             {
    5491      1052589 :               if (flag_reciprocal_math
    5492      1052589 :  && !real_zerop (captures[1])
    5493              : )
    5494              :                 {
    5495          571 :                   {
    5496          571 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5497          571 :                       if (tem
    5498              : )
    5499              :                         {
    5500          570 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1600;
    5501          570 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
    5502          570 :                           {
    5503          570 :                             tree res_op0;
    5504          570 :                             res_op0 = captures[0];
    5505          570 :                             tree res_op1;
    5506          570 :                             res_op1 =  tem;
    5507          570 :                             tree _r;
    5508          570 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5509          570 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
    5510          570 :                             return _r;
    5511              :                           }
    5512       739718 : next_after_fail1600:;
    5513              :                         }
    5514              :                   }
    5515              :                 }
    5516              :               else
    5517              :                 {
    5518      1052018 :                   if (REAL_CST != COMPLEX_CST
    5519              : )
    5520              :                     {
    5521      1052018 :                       {
    5522      1052018 :  tree inverse = exact_inverse (type, captures[1]);
    5523      1052018 :                           if (inverse
    5524              : )
    5525              :                             {
    5526       318628 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1601;
    5527       318628 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
    5528       318628 :                               {
    5529       318628 :                                 tree res_op0;
    5530       318628 :                                 res_op0 = captures[0];
    5531       318628 :                                 tree res_op1;
    5532       318628 :                                 res_op1 =  inverse;
    5533       318628 :                                 tree _r;
    5534       318628 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5535       318628 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
    5536       318628 :                                 return _r;
    5537              :                               }
    5538       739718 : next_after_fail1601:;
    5539              :                             }
    5540              :                       }
    5541              :                     }
    5542              :                 }
    5543              :             }
    5544              :         }
    5545       739718 :         break;
    5546              :       }
    5547          114 :     case COMPLEX_CST:
    5548          114 :       {
    5549          114 :         {
    5550          114 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5551          114 :           if (optimize
    5552              : )
    5553              :             {
    5554          106 :               if (flag_reciprocal_math
    5555          106 :  && !real_zerop (captures[1])
    5556              : )
    5557              :                 {
    5558            7 :                   {
    5559            7 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5560            7 :                       if (tem
    5561              : )
    5562              :                         {
    5563            7 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1602;
    5564            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
    5565            7 :                           {
    5566            7 :                             tree res_op0;
    5567            7 :                             res_op0 = captures[0];
    5568            7 :                             tree res_op1;
    5569            7 :                             res_op1 =  tem;
    5570            7 :                             tree _r;
    5571            7 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5572            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
    5573            7 :                             return _r;
    5574              :                           }
    5575          107 : next_after_fail1602:;
    5576              :                         }
    5577              :                   }
    5578              :                 }
    5579              :               else
    5580              :                 {
    5581              :                   if (COMPLEX_CST != COMPLEX_CST
    5582              : )
    5583              :                     {
    5584              :                       {
    5585              :  tree inverse = exact_inverse (type, captures[1]);
    5586              :                           if (inverse
    5587              : )
    5588              :                             {
    5589              :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1603;
    5590              :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
    5591              :                               {
    5592              :                                 tree res_op0;
    5593              :                                 res_op0 = captures[0];
    5594              :                                 tree res_op1;
    5595              :                                 res_op1 =  inverse;
    5596              :                                 tree _r;
    5597              :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5598              :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
    5599              :                                 return _r;
    5600              :                               }
    5601              : next_after_fail1603:;
    5602              :                             }
    5603              :                       }
    5604              :                     }
    5605              :                 }
    5606              :             }
    5607              :         }
    5608          107 :         break;
    5609              :       }
    5610           45 :     case VECTOR_CST:
    5611           45 :       {
    5612           45 :         {
    5613           45 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5614           45 :           if (optimize
    5615              : )
    5616              :             {
    5617           41 :               if (flag_reciprocal_math
    5618           41 :  && !real_zerop (captures[1])
    5619              : )
    5620              :                 {
    5621            4 :                   {
    5622            4 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5623            4 :                       if (tem
    5624              : )
    5625              :                         {
    5626            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1604;
    5627            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1604;
    5628            0 :                           {
    5629            0 :                             tree res_op0;
    5630            0 :                             res_op0 = captures[0];
    5631            0 :                             tree res_op1;
    5632            0 :                             res_op1 =  tem;
    5633            0 :                             tree _r;
    5634            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5635            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 998, __FILE__, __LINE__, true);
    5636            0 :                             return _r;
    5637              :                           }
    5638           15 : next_after_fail1604:;
    5639              :                         }
    5640              :                   }
    5641              :                 }
    5642              :               else
    5643              :                 {
    5644           37 :                   if (VECTOR_CST != COMPLEX_CST
    5645              : )
    5646              :                     {
    5647           37 :                       {
    5648           37 :  tree inverse = exact_inverse (type, captures[1]);
    5649           37 :                           if (inverse
    5650              : )
    5651              :                             {
    5652           30 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1605;
    5653           30 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1605;
    5654           30 :                               {
    5655           30 :                                 tree res_op0;
    5656           30 :                                 res_op0 = captures[0];
    5657           30 :                                 tree res_op1;
    5658           30 :                                 res_op1 =  inverse;
    5659           30 :                                 tree _r;
    5660           30 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5661           30 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 999, __FILE__, __LINE__, true);
    5662           30 :                                 return _r;
    5663              :                               }
    5664           15 : next_after_fail1605:;
    5665              :                             }
    5666              :                       }
    5667              :                     }
    5668              :                 }
    5669              :             }
    5670              :         }
    5671           15 :         break;
    5672              :       }
    5673      5886088 :     default:;
    5674              :     }
    5675      5886088 :   switch (TREE_CODE (_p0))
    5676              :     {
    5677            0 :     case VEC_COND_EXPR:
    5678            0 :       {
    5679            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5680            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5681            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5682            0 :         switch (TREE_CODE (_p1))
    5683              :           {
    5684            0 :           case VEC_COND_EXPR:
    5685            0 :             {
    5686            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5687            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5688            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5689            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5690              :                 {
    5691            0 :                   {
    5692            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5693            0 :                     if (VECTOR_TYPE_P (type)
    5694            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5695              :  || types_match (type, TREE_TYPE (captures[2]))
    5696              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5697              :  || (optimize_vectors_before_lowering_p ()
    5698              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5699              : )
    5700              :                       {
    5701            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
    5702            0 :                         {
    5703            0 :                           tree res_op0;
    5704            0 :                           res_op0 = captures[1];
    5705            0 :                           tree res_op1;
    5706            0 :                           {
    5707            0 :                             tree _o1[2], _r1;
    5708            0 :                             _o1[0] = captures[2];
    5709            0 :                             _o1[1] = captures[5];
    5710            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5711            0 :                             if (EXPR_P (_r1))
    5712            0 :                               goto next_after_fail1606;
    5713            0 :                             res_op1 = _r1;
    5714              :                           }
    5715            0 :                           tree res_op2;
    5716            0 :                           {
    5717            0 :                             tree _o1[2], _r1;
    5718            0 :                             _o1[0] = captures[3];
    5719            0 :                             _o1[1] = captures[6];
    5720            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5721            0 :                             if (EXPR_P (_r1))
    5722            0 :                               goto next_after_fail1606;
    5723            0 :                             res_op2 = _r1;
    5724              :                           }
    5725            0 :                           tree _r;
    5726            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5727            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    5728            0 :                           return _r;
    5729              :                         }
    5730            0 : next_after_fail1606:;
    5731              :                       }
    5732              :                   }
    5733              :                 }
    5734              :               break;
    5735              :             }
    5736            0 :           default:;
    5737              :           }
    5738            0 :         {
    5739            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5740            0 :           if (VECTOR_TYPE_P (type)
    5741            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5742              :  || types_match (type, TREE_TYPE (captures[2]))
    5743              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5744              :  || (optimize_vectors_before_lowering_p ()
    5745              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5746              : )
    5747              :             {
    5748            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
    5749            0 :               {
    5750            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1607;
    5751            0 :                 tree res_op0;
    5752            0 :                 res_op0 = captures[1];
    5753            0 :                 tree res_op1;
    5754            0 :                 {
    5755            0 :                   tree _o1[2], _r1;
    5756            0 :                   _o1[0] = captures[2];
    5757            0 :                   _o1[1] = unshare_expr (captures[4]);
    5758            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5759            0 :                   if (EXPR_P (_r1))
    5760            0 :                     goto next_after_fail1607;
    5761            0 :                   res_op1 = _r1;
    5762              :                 }
    5763            0 :                 tree res_op2;
    5764            0 :                 {
    5765            0 :                   tree _o1[2], _r1;
    5766            0 :                   _o1[0] = captures[3];
    5767            0 :                   _o1[1] = captures[4];
    5768            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5769            0 :                   if (EXPR_P (_r1))
    5770            0 :                     goto next_after_fail1607;
    5771            0 :                   res_op2 = _r1;
    5772              :                 }
    5773            0 :                 tree _r;
    5774            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5775            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    5776            0 :                 return _r;
    5777              :               }
    5778            0 : next_after_fail1607:;
    5779              :             }
    5780              :         }
    5781            0 :         break;
    5782              :       }
    5783      5886088 :     default:;
    5784              :     }
    5785      5886088 :   switch (TREE_CODE (_p1))
    5786              :     {
    5787            0 :     case VEC_COND_EXPR:
    5788            0 :       {
    5789            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5790            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5791            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5792            0 :         {
    5793            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5794            0 :           if (VECTOR_TYPE_P (type)
    5795            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5796              :  || types_match (type, TREE_TYPE (captures[3]))
    5797              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5798              :  || (optimize_vectors_before_lowering_p ()
    5799              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5800              : )
    5801              :             {
    5802            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1608;
    5803            0 :               {
    5804            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1608;
    5805            0 :                 tree res_op0;
    5806            0 :                 res_op0 = captures[2];
    5807            0 :                 tree res_op1;
    5808            0 :                 {
    5809            0 :                   tree _o1[2], _r1;
    5810            0 :                   _o1[0] = unshare_expr (captures[0]);
    5811            0 :                   _o1[1] = captures[3];
    5812            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5813            0 :                   if (EXPR_P (_r1))
    5814            0 :                     goto next_after_fail1608;
    5815            0 :                   res_op1 = _r1;
    5816              :                 }
    5817            0 :                 tree res_op2;
    5818            0 :                 {
    5819            0 :                   tree _o1[2], _r1;
    5820            0 :                   _o1[0] = captures[0];
    5821            0 :                   _o1[1] = captures[4];
    5822            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5823            0 :                   if (EXPR_P (_r1))
    5824            0 :                     goto next_after_fail1608;
    5825            0 :                   res_op2 = _r1;
    5826              :                 }
    5827            0 :                 tree _r;
    5828            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5829            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    5830            0 :                 return _r;
    5831              :               }
    5832            0 : next_after_fail1608:;
    5833              :             }
    5834              :         }
    5835            0 :         break;
    5836              :       }
    5837       789312 :     case CALL_EXPR:
    5838       789312 :       switch (get_call_combined_fn (_p1))
    5839              :         {
    5840           20 :         case CFN_BUILT_IN_SQRTF:
    5841           20 :           if (call_expr_nargs (_p1) == 1)
    5842              :     {
    5843           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5844           20 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5845              :                 {
    5846            0 :                   {
    5847            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5848            0 :                     tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    5849            0 :                     if (res) return res;
    5850              :                   }
    5851              :                 }
    5852           20 :               switch (TREE_CODE (_q30))
    5853              :                 {
    5854            0 :                 case RDIV_EXPR:
    5855            0 :                   {
    5856            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5857            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5858            0 :                     {
    5859            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5860            0 :                       if (flag_unsafe_math_optimizations
    5861              : )
    5862              :                         {
    5863            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1609;
    5864            0 :                           {
    5865            0 :                             tree res_op0;
    5866            0 :                             res_op0 = captures[0];
    5867            0 :                             tree res_op1;
    5868            0 :                             {
    5869            0 :                               tree _o1[1], _r1;
    5870            0 :                               {
    5871            0 :                                 tree _o2[2], _r2;
    5872            0 :                                 _o2[0] = captures[4];
    5873            0 :                                 _o2[1] = captures[3];
    5874            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5875            0 :                                 _o1[0] = _r2;
    5876              :                               }
    5877            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5878            0 :                               if (!_r1)
    5879            0 :                                 goto next_after_fail1609;
    5880            0 :                               res_op1 = _r1;
    5881              :                             }
    5882            0 :                             tree _r;
    5883            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5884            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    5885            0 :                             return _r;
    5886              :                           }
    5887            0 : next_after_fail1609:;
    5888              :                         }
    5889              :                     }
    5890            0 :                     break;
    5891              :                   }
    5892              :                 default:;
    5893              :                 }
    5894              :             }
    5895              :           break;
    5896            0 :         case CFN_BUILT_IN_SQRTL:
    5897            0 :           if (call_expr_nargs (_p1) == 1)
    5898              :     {
    5899            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5900            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5901              :                 {
    5902            0 :                   {
    5903            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5904            0 :                     tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    5905            0 :                     if (res) return res;
    5906              :                   }
    5907              :                 }
    5908            0 :               switch (TREE_CODE (_q30))
    5909              :                 {
    5910            0 :                 case RDIV_EXPR:
    5911            0 :                   {
    5912            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5913            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5914            0 :                     {
    5915            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5916            0 :                       if (flag_unsafe_math_optimizations
    5917              : )
    5918              :                         {
    5919            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1610;
    5920            0 :                           {
    5921            0 :                             tree res_op0;
    5922            0 :                             res_op0 = captures[0];
    5923            0 :                             tree res_op1;
    5924            0 :                             {
    5925            0 :                               tree _o1[1], _r1;
    5926            0 :                               {
    5927            0 :                                 tree _o2[2], _r2;
    5928            0 :                                 _o2[0] = captures[4];
    5929            0 :                                 _o2[1] = captures[3];
    5930            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5931            0 :                                 _o1[0] = _r2;
    5932              :                               }
    5933            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5934            0 :                               if (!_r1)
    5935            0 :                                 goto next_after_fail1610;
    5936            0 :                               res_op1 = _r1;
    5937              :                             }
    5938            0 :                             tree _r;
    5939            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5940            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    5941            0 :                             return _r;
    5942              :                           }
    5943            0 : next_after_fail1610:;
    5944              :                         }
    5945              :                     }
    5946            0 :                     break;
    5947              :                   }
    5948              :                 default:;
    5949              :                 }
    5950              :             }
    5951              :           break;
    5952           27 :         case CFN_BUILT_IN_EXP:
    5953           27 :           if (call_expr_nargs (_p1) == 1)
    5954              :     {
    5955           27 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5956           27 :               {
    5957           27 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    5958           27 :                 if (flag_unsafe_math_optimizations
    5959              : )
    5960              :                   {
    5961           27 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1611;
    5962           27 :                     {
    5963           27 :                       tree res_op0;
    5964           27 :                       res_op0 = captures[0];
    5965           27 :                       tree res_op1;
    5966           27 :                       {
    5967           27 :                         tree _o1[1], _r1;
    5968           27 :                         {
    5969           27 :                           tree _o2[1], _r2;
    5970           27 :                           _o2[0] = captures[2];
    5971           27 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    5972           27 :                           _o1[0] = _r2;
    5973              :                         }
    5974           27 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5975           27 :                         if (!_r1)
    5976            0 :                           goto next_after_fail1611;
    5977           27 :                         res_op1 = _r1;
    5978              :                       }
    5979           27 :                       tree _r;
    5980           27 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5981           27 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    5982           27 :                       return _r;
    5983              :                     }
    5984            0 : next_after_fail1611:;
    5985              :                   }
    5986              :               }
    5987              :             }
    5988              :           break;
    5989           24 :         case CFN_BUILT_IN_EXP10F:
    5990           24 :           if (call_expr_nargs (_p1) == 1)
    5991              :     {
    5992           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5993           24 :               {
    5994           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    5995           24 :                 if (flag_unsafe_math_optimizations
    5996              : )
    5997              :                   {
    5998           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1612;
    5999           24 :                     {
    6000           24 :                       tree res_op0;
    6001           24 :                       res_op0 = captures[0];
    6002           24 :                       tree res_op1;
    6003           24 :                       {
    6004           24 :                         tree _o1[1], _r1;
    6005           24 :                         {
    6006           24 :                           tree _o2[1], _r2;
    6007           24 :                           _o2[0] = captures[2];
    6008           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6009           24 :                           _o1[0] = _r2;
    6010              :                         }
    6011           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6012           24 :                         if (!_r1)
    6013            0 :                           goto next_after_fail1612;
    6014           24 :                         res_op1 = _r1;
    6015              :                       }
    6016           24 :                       tree _r;
    6017           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6018           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6019           24 :                       return _r;
    6020              :                     }
    6021            0 : next_after_fail1612:;
    6022              :                   }
    6023              :               }
    6024              :             }
    6025              :           break;
    6026           24 :         case CFN_BUILT_IN_EXP10L:
    6027           24 :           if (call_expr_nargs (_p1) == 1)
    6028              :     {
    6029           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6030           24 :               {
    6031           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6032           24 :                 if (flag_unsafe_math_optimizations
    6033              : )
    6034              :                   {
    6035           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1613;
    6036           24 :                     {
    6037           24 :                       tree res_op0;
    6038           24 :                       res_op0 = captures[0];
    6039           24 :                       tree res_op1;
    6040           24 :                       {
    6041           24 :                         tree _o1[1], _r1;
    6042           24 :                         {
    6043           24 :                           tree _o2[1], _r2;
    6044           24 :                           _o2[0] = captures[2];
    6045           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6046           24 :                           _o1[0] = _r2;
    6047              :                         }
    6048           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6049           24 :                         if (!_r1)
    6050            0 :                           goto next_after_fail1613;
    6051           24 :                         res_op1 = _r1;
    6052              :                       }
    6053           24 :                       tree _r;
    6054           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6055           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6056           24 :                       return _r;
    6057              :                     }
    6058            0 : next_after_fail1613:;
    6059              :                   }
    6060              :               }
    6061              :             }
    6062              :           break;
    6063            3 :         case CFN_BUILT_IN_CBRT:
    6064            3 :           if (call_expr_nargs (_p1) == 1)
    6065              :     {
    6066            3 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6067            3 :               switch (TREE_CODE (_q30))
    6068              :                 {
    6069            2 :                 case RDIV_EXPR:
    6070            2 :                   {
    6071            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6072            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6073            2 :                     {
    6074            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6075            2 :                       if (flag_unsafe_math_optimizations
    6076              : )
    6077              :                         {
    6078            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1614;
    6079            2 :                           {
    6080            2 :                             tree res_op0;
    6081            2 :                             res_op0 = captures[0];
    6082            2 :                             tree res_op1;
    6083            2 :                             {
    6084            2 :                               tree _o1[1], _r1;
    6085            2 :                               {
    6086            2 :                                 tree _o2[2], _r2;
    6087            2 :                                 _o2[0] = captures[4];
    6088            2 :                                 _o2[1] = captures[3];
    6089            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6090            2 :                                 _o1[0] = _r2;
    6091              :                               }
    6092            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6093            2 :                               if (!_r1)
    6094            0 :                                 goto next_after_fail1614;
    6095            2 :                               res_op1 = _r1;
    6096              :                             }
    6097            2 :                             tree _r;
    6098            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6099            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    6100            2 :                             return _r;
    6101              :                           }
    6102            0 : next_after_fail1614:;
    6103              :                         }
    6104              :                     }
    6105            0 :                     break;
    6106              :                   }
    6107              :                 default:;
    6108              :                 }
    6109              :             }
    6110              :           break;
    6111           24 :         case CFN_BUILT_IN_EXP2:
    6112           24 :           if (call_expr_nargs (_p1) == 1)
    6113              :     {
    6114           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6115           24 :               {
    6116           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6117           24 :                 if (flag_unsafe_math_optimizations
    6118              : )
    6119              :                   {
    6120           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
    6121           24 :                     {
    6122           24 :                       tree res_op0;
    6123           24 :                       res_op0 = captures[0];
    6124           24 :                       tree res_op1;
    6125           24 :                       {
    6126           24 :                         tree _o1[1], _r1;
    6127           24 :                         {
    6128           24 :                           tree _o2[1], _r2;
    6129           24 :                           _o2[0] = captures[2];
    6130           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6131           24 :                           _o1[0] = _r2;
    6132              :                         }
    6133           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6134           24 :                         if (!_r1)
    6135            0 :                           goto next_after_fail1615;
    6136           24 :                         res_op1 = _r1;
    6137              :                       }
    6138           24 :                       tree _r;
    6139           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6140           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6141           24 :                       return _r;
    6142              :                     }
    6143            0 : next_after_fail1615:;
    6144              :                   }
    6145              :               }
    6146              :             }
    6147              :           break;
    6148           25 :         case CFN_BUILT_IN_EXPF:
    6149           25 :           if (call_expr_nargs (_p1) == 1)
    6150              :     {
    6151           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6152           25 :               {
    6153           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6154           25 :                 if (flag_unsafe_math_optimizations
    6155              : )
    6156              :                   {
    6157           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1616;
    6158           25 :                     {
    6159           25 :                       tree res_op0;
    6160           25 :                       res_op0 = captures[0];
    6161           25 :                       tree res_op1;
    6162           25 :                       {
    6163           25 :                         tree _o1[1], _r1;
    6164           25 :                         {
    6165           25 :                           tree _o2[1], _r2;
    6166           25 :                           _o2[0] = captures[2];
    6167           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6168           25 :                           _o1[0] = _r2;
    6169              :                         }
    6170           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6171           25 :                         if (!_r1)
    6172            0 :                           goto next_after_fail1616;
    6173           25 :                         res_op1 = _r1;
    6174              :                       }
    6175           25 :                       tree _r;
    6176           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6177           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6178           25 :                       return _r;
    6179              :                     }
    6180            0 : next_after_fail1616:;
    6181              :                   }
    6182              :               }
    6183              :             }
    6184              :           break;
    6185           25 :         case CFN_BUILT_IN_EXPL:
    6186           25 :           if (call_expr_nargs (_p1) == 1)
    6187              :     {
    6188           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6189           25 :               {
    6190           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6191           25 :                 if (flag_unsafe_math_optimizations
    6192              : )
    6193              :                   {
    6194           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1617;
    6195           25 :                     {
    6196           25 :                       tree res_op0;
    6197           25 :                       res_op0 = captures[0];
    6198           25 :                       tree res_op1;
    6199           25 :                       {
    6200           25 :                         tree _o1[1], _r1;
    6201           25 :                         {
    6202           25 :                           tree _o2[1], _r2;
    6203           25 :                           _o2[0] = captures[2];
    6204           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6205           25 :                           _o1[0] = _r2;
    6206              :                         }
    6207           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6208           25 :                         if (!_r1)
    6209            0 :                           goto next_after_fail1617;
    6210           25 :                         res_op1 = _r1;
    6211              :                       }
    6212           25 :                       tree _r;
    6213           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6214           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6215           25 :                       return _r;
    6216              :                     }
    6217            0 : next_after_fail1617:;
    6218              :                   }
    6219              :               }
    6220              :             }
    6221              :           break;
    6222          298 :         case CFN_BUILT_IN_SQRT:
    6223          298 :           if (call_expr_nargs (_p1) == 1)
    6224              :     {
    6225          298 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6226          298 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6227              :                 {
    6228            0 :                   {
    6229            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6230            0 :                     tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
    6231            0 :                     if (res) return res;
    6232              :                   }
    6233              :                 }
    6234          298 :               switch (TREE_CODE (_q30))
    6235              :                 {
    6236            2 :                 case RDIV_EXPR:
    6237            2 :                   {
    6238            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6239            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6240            2 :                     {
    6241            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6242            2 :                       if (flag_unsafe_math_optimizations
    6243              : )
    6244              :                         {
    6245            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1618;
    6246            2 :                           {
    6247            2 :                             tree res_op0;
    6248            2 :                             res_op0 = captures[0];
    6249            2 :                             tree res_op1;
    6250            2 :                             {
    6251            2 :                               tree _o1[1], _r1;
    6252            2 :                               {
    6253            2 :                                 tree _o2[2], _r2;
    6254            2 :                                 _o2[0] = captures[4];
    6255            2 :                                 _o2[1] = captures[3];
    6256            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6257            2 :                                 _o1[0] = _r2;
    6258              :                               }
    6259            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6260            2 :                               if (!_r1)
    6261            0 :                                 goto next_after_fail1618;
    6262            2 :                               res_op1 = _r1;
    6263              :                             }
    6264            2 :                             tree _r;
    6265            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6266            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    6267            2 :                             return _r;
    6268              :                           }
    6269            0 : next_after_fail1618:;
    6270              :                         }
    6271              :                     }
    6272            0 :                     break;
    6273              :                   }
    6274              :                 default:;
    6275              :                 }
    6276              :             }
    6277              :           break;
    6278            0 :         case CFN_EXP:
    6279            0 :           if (call_expr_nargs (_p1) == 1)
    6280              :     {
    6281            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6282            0 :               {
    6283            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6284            0 :                 if (flag_unsafe_math_optimizations
    6285              : )
    6286              :                   {
    6287            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1619;
    6288            0 :                     {
    6289            0 :                       tree res_op0;
    6290            0 :                       res_op0 = captures[0];
    6291            0 :                       tree res_op1;
    6292            0 :                       {
    6293            0 :                         tree _o1[1], _r1;
    6294            0 :                         {
    6295            0 :                           tree _o2[1], _r2;
    6296            0 :                           _o2[0] = captures[2];
    6297            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6298            0 :                           _o1[0] = _r2;
    6299              :                         }
    6300            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6301            0 :                         if (!_r1)
    6302            0 :                           goto next_after_fail1619;
    6303            0 :                         res_op1 = _r1;
    6304              :                       }
    6305            0 :                       tree _r;
    6306            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6307            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6308            0 :                       return _r;
    6309              :                     }
    6310            0 : next_after_fail1619:;
    6311              :                   }
    6312              :               }
    6313              :             }
    6314              :           break;
    6315           24 :         case CFN_BUILT_IN_POW10F:
    6316           24 :           if (call_expr_nargs (_p1) == 1)
    6317              :     {
    6318           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6319           24 :               {
    6320           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6321           24 :                 if (flag_unsafe_math_optimizations
    6322              : )
    6323              :                   {
    6324           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1620;
    6325           24 :                     {
    6326           24 :                       tree res_op0;
    6327           24 :                       res_op0 = captures[0];
    6328           24 :                       tree res_op1;
    6329           24 :                       {
    6330           24 :                         tree _o1[1], _r1;
    6331           24 :                         {
    6332           24 :                           tree _o2[1], _r2;
    6333           24 :                           _o2[0] = captures[2];
    6334           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6335           24 :                           _o1[0] = _r2;
    6336              :                         }
    6337           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6338           24 :                         if (!_r1)
    6339           24 :                           goto next_after_fail1620;
    6340            0 :                         res_op1 = _r1;
    6341              :                       }
    6342            0 :                       tree _r;
    6343            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6344            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6345            0 :                       return _r;
    6346              :                     }
    6347           24 : next_after_fail1620:;
    6348              :                   }
    6349              :               }
    6350              :             }
    6351              :           break;
    6352           24 :         case CFN_BUILT_IN_POW10L:
    6353           24 :           if (call_expr_nargs (_p1) == 1)
    6354              :     {
    6355           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6356           24 :               {
    6357           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6358           24 :                 if (flag_unsafe_math_optimizations
    6359              : )
    6360              :                   {
    6361           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1621;
    6362           24 :                     {
    6363           24 :                       tree res_op0;
    6364           24 :                       res_op0 = captures[0];
    6365           24 :                       tree res_op1;
    6366           24 :                       {
    6367           24 :                         tree _o1[1], _r1;
    6368           24 :                         {
    6369           24 :                           tree _o2[1], _r2;
    6370           24 :                           _o2[0] = captures[2];
    6371           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6372           24 :                           _o1[0] = _r2;
    6373              :                         }
    6374           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6375           24 :                         if (!_r1)
    6376           24 :                           goto next_after_fail1621;
    6377            0 :                         res_op1 = _r1;
    6378              :                       }
    6379            0 :                       tree _r;
    6380            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6381            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6382            0 :                       return _r;
    6383              :                     }
    6384           24 : next_after_fail1621:;
    6385              :                   }
    6386              :               }
    6387              :             }
    6388              :           break;
    6389            0 :         case CFN_EXP2:
    6390            0 :           if (call_expr_nargs (_p1) == 1)
    6391              :     {
    6392            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6393            0 :               {
    6394            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6395            0 :                 if (flag_unsafe_math_optimizations
    6396              : )
    6397              :                   {
    6398            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
    6399            0 :                     {
    6400            0 :                       tree res_op0;
    6401            0 :                       res_op0 = captures[0];
    6402            0 :                       tree res_op1;
    6403            0 :                       {
    6404            0 :                         tree _o1[1], _r1;
    6405            0 :                         {
    6406            0 :                           tree _o2[1], _r2;
    6407            0 :                           _o2[0] = captures[2];
    6408            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6409            0 :                           _o1[0] = _r2;
    6410              :                         }
    6411            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6412            0 :                         if (!_r1)
    6413            0 :                           goto next_after_fail1622;
    6414            0 :                         res_op1 = _r1;
    6415              :                       }
    6416            0 :                       tree _r;
    6417            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6418            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6419            0 :                       return _r;
    6420              :                     }
    6421            0 : next_after_fail1622:;
    6422              :                   }
    6423              :               }
    6424              :             }
    6425              :           break;
    6426            0 :         case CFN_SQRT:
    6427            0 :           if (call_expr_nargs (_p1) == 1)
    6428              :     {
    6429            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6430            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6431              :                 {
    6432            0 :                   {
    6433            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6434            0 :                     tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_SQRT);
    6435            0 :                     if (res) return res;
    6436              :                   }
    6437              :                 }
    6438            0 :               switch (TREE_CODE (_q30))
    6439              :                 {
    6440            0 :                 case RDIV_EXPR:
    6441            0 :                   {
    6442            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6443            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6444            0 :                     {
    6445            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6446            0 :                       if (flag_unsafe_math_optimizations
    6447              : )
    6448              :                         {
    6449            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1623;
    6450            0 :                           {
    6451            0 :                             tree res_op0;
    6452            0 :                             res_op0 = captures[0];
    6453            0 :                             tree res_op1;
    6454            0 :                             {
    6455            0 :                               tree _o1[1], _r1;
    6456            0 :                               {
    6457            0 :                                 tree _o2[2], _r2;
    6458            0 :                                 _o2[0] = captures[4];
    6459            0 :                                 _o2[1] = captures[3];
    6460            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6461            0 :                                 _o1[0] = _r2;
    6462              :                               }
    6463            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6464            0 :                               if (!_r1)
    6465            0 :                                 goto next_after_fail1623;
    6466            0 :                               res_op1 = _r1;
    6467              :                             }
    6468            0 :                             tree _r;
    6469            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6470            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    6471            0 :                             return _r;
    6472              :                           }
    6473            0 : next_after_fail1623:;
    6474              :                         }
    6475              :                     }
    6476            0 :                     break;
    6477              :                   }
    6478              :                 default:;
    6479              :                 }
    6480              :             }
    6481              :           break;
    6482            0 :         case CFN_EXP10:
    6483            0 :           if (call_expr_nargs (_p1) == 1)
    6484              :     {
    6485            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6486            0 :               {
    6487            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6488            0 :                 if (flag_unsafe_math_optimizations
    6489              : )
    6490              :                   {
    6491            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1624;
    6492            0 :                     {
    6493            0 :                       tree res_op0;
    6494            0 :                       res_op0 = captures[0];
    6495            0 :                       tree res_op1;
    6496            0 :                       {
    6497            0 :                         tree _o1[1], _r1;
    6498            0 :                         {
    6499            0 :                           tree _o2[1], _r2;
    6500            0 :                           _o2[0] = captures[2];
    6501            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6502            0 :                           _o1[0] = _r2;
    6503              :                         }
    6504            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6505            0 :                         if (!_r1)
    6506            0 :                           goto next_after_fail1624;
    6507            0 :                         res_op1 = _r1;
    6508              :                       }
    6509            0 :                       tree _r;
    6510            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6511            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6512            0 :                       return _r;
    6513              :                     }
    6514            0 : next_after_fail1624:;
    6515              :                   }
    6516              :               }
    6517              :             }
    6518              :           break;
    6519            0 :         case CFN_BUILT_IN_CBRTF:
    6520            0 :           if (call_expr_nargs (_p1) == 1)
    6521              :     {
    6522            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6523            0 :               switch (TREE_CODE (_q30))
    6524              :                 {
    6525            0 :                 case RDIV_EXPR:
    6526            0 :                   {
    6527            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6528            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6529            0 :                     {
    6530            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6531            0 :                       if (flag_unsafe_math_optimizations
    6532              : )
    6533              :                         {
    6534            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1625;
    6535            0 :                           {
    6536            0 :                             tree res_op0;
    6537            0 :                             res_op0 = captures[0];
    6538            0 :                             tree res_op1;
    6539            0 :                             {
    6540            0 :                               tree _o1[1], _r1;
    6541            0 :                               {
    6542            0 :                                 tree _o2[2], _r2;
    6543            0 :                                 _o2[0] = captures[4];
    6544            0 :                                 _o2[1] = captures[3];
    6545            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6546            0 :                                 _o1[0] = _r2;
    6547              :                               }
    6548            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6549            0 :                               if (!_r1)
    6550            0 :                                 goto next_after_fail1625;
    6551            0 :                               res_op1 = _r1;
    6552              :                             }
    6553            0 :                             tree _r;
    6554            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6555            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    6556            0 :                             return _r;
    6557              :                           }
    6558            0 : next_after_fail1625:;
    6559              :                         }
    6560              :                     }
    6561            0 :                     break;
    6562              :                   }
    6563              :                 default:;
    6564              :                 }
    6565              :             }
    6566              :           break;
    6567            0 :         case CFN_BUILT_IN_CBRTL:
    6568            0 :           if (call_expr_nargs (_p1) == 1)
    6569              :     {
    6570            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6571            0 :               switch (TREE_CODE (_q30))
    6572              :                 {
    6573            0 :                 case RDIV_EXPR:
    6574            0 :                   {
    6575            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6576            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6577            0 :                     {
    6578            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6579            0 :                       if (flag_unsafe_math_optimizations
    6580              : )
    6581              :                         {
    6582            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1626;
    6583            0 :                           {
    6584            0 :                             tree res_op0;
    6585            0 :                             res_op0 = captures[0];
    6586            0 :                             tree res_op1;
    6587            0 :                             {
    6588            0 :                               tree _o1[1], _r1;
    6589            0 :                               {
    6590            0 :                                 tree _o2[2], _r2;
    6591            0 :                                 _o2[0] = captures[4];
    6592            0 :                                 _o2[1] = captures[3];
    6593            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6594            0 :                                 _o1[0] = _r2;
    6595              :                               }
    6596            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6597            0 :                               if (!_r1)
    6598            0 :                                 goto next_after_fail1626;
    6599            0 :                               res_op1 = _r1;
    6600              :                             }
    6601            0 :                             tree _r;
    6602            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6603            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    6604            0 :                             return _r;
    6605              :                           }
    6606            0 : next_after_fail1626:;
    6607              :                         }
    6608              :                     }
    6609            0 :                     break;
    6610              :                   }
    6611              :                 default:;
    6612              :                 }
    6613              :             }
    6614              :           break;
    6615           24 :         case CFN_BUILT_IN_EXP10:
    6616           24 :           if (call_expr_nargs (_p1) == 1)
    6617              :     {
    6618           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6619           24 :               {
    6620           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6621           24 :                 if (flag_unsafe_math_optimizations
    6622              : )
    6623              :                   {
    6624           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1627;
    6625           24 :                     {
    6626           24 :                       tree res_op0;
    6627           24 :                       res_op0 = captures[0];
    6628           24 :                       tree res_op1;
    6629           24 :                       {
    6630           24 :                         tree _o1[1], _r1;
    6631           24 :                         {
    6632           24 :                           tree _o2[1], _r2;
    6633           24 :                           _o2[0] = captures[2];
    6634           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6635           24 :                           _o1[0] = _r2;
    6636              :                         }
    6637           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6638           24 :                         if (!_r1)
    6639            0 :                           goto next_after_fail1627;
    6640           24 :                         res_op1 = _r1;
    6641              :                       }
    6642           24 :                       tree _r;
    6643           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6644           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6645           24 :                       return _r;
    6646              :                     }
    6647            0 : next_after_fail1627:;
    6648              :                   }
    6649              :               }
    6650              :             }
    6651              :           break;
    6652           24 :         case CFN_BUILT_IN_EXP2F:
    6653           24 :           if (call_expr_nargs (_p1) == 1)
    6654              :     {
    6655           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6656           24 :               {
    6657           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6658           24 :                 if (flag_unsafe_math_optimizations
    6659              : )
    6660              :                   {
    6661           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1628;
    6662           24 :                     {
    6663           24 :                       tree res_op0;
    6664           24 :                       res_op0 = captures[0];
    6665           24 :                       tree res_op1;
    6666           24 :                       {
    6667           24 :                         tree _o1[1], _r1;
    6668           24 :                         {
    6669           24 :                           tree _o2[1], _r2;
    6670           24 :                           _o2[0] = captures[2];
    6671           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6672           24 :                           _o1[0] = _r2;
    6673              :                         }
    6674           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6675           24 :                         if (!_r1)
    6676            0 :                           goto next_after_fail1628;
    6677           24 :                         res_op1 = _r1;
    6678              :                       }
    6679           24 :                       tree _r;
    6680           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6681           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6682           24 :                       return _r;
    6683              :                     }
    6684            0 : next_after_fail1628:;
    6685              :                   }
    6686              :               }
    6687              :             }
    6688              :           break;
    6689           24 :         case CFN_BUILT_IN_EXP2L:
    6690           24 :           if (call_expr_nargs (_p1) == 1)
    6691              :     {
    6692           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6693           24 :               {
    6694           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6695           24 :                 if (flag_unsafe_math_optimizations
    6696              : )
    6697              :                   {
    6698           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1629;
    6699           24 :                     {
    6700           24 :                       tree res_op0;
    6701           24 :                       res_op0 = captures[0];
    6702           24 :                       tree res_op1;
    6703           24 :                       {
    6704           24 :                         tree _o1[1], _r1;
    6705           24 :                         {
    6706           24 :                           tree _o2[1], _r2;
    6707           24 :                           _o2[0] = captures[2];
    6708           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6709           24 :                           _o1[0] = _r2;
    6710              :                         }
    6711           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6712           24 :                         if (!_r1)
    6713            0 :                           goto next_after_fail1629;
    6714           24 :                         res_op1 = _r1;
    6715              :                       }
    6716           24 :                       tree _r;
    6717           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6718           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6719           24 :                       return _r;
    6720              :                     }
    6721            0 : next_after_fail1629:;
    6722              :                   }
    6723              :               }
    6724              :             }
    6725              :           break;
    6726           24 :         case CFN_BUILT_IN_POW10:
    6727           24 :           if (call_expr_nargs (_p1) == 1)
    6728              :     {
    6729           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6730           24 :               {
    6731           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6732           24 :                 if (flag_unsafe_math_optimizations
    6733              : )
    6734              :                   {
    6735           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1630;
    6736           24 :                     {
    6737           24 :                       tree res_op0;
    6738           24 :                       res_op0 = captures[0];
    6739           24 :                       tree res_op1;
    6740           24 :                       {
    6741           24 :                         tree _o1[1], _r1;
    6742           24 :                         {
    6743           24 :                           tree _o2[1], _r2;
    6744           24 :                           _o2[0] = captures[2];
    6745           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6746           24 :                           _o1[0] = _r2;
    6747              :                         }
    6748           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6749           24 :                         if (!_r1)
    6750           24 :                           goto next_after_fail1630;
    6751            0 :                         res_op1 = _r1;
    6752              :                       }
    6753            0 :                       tree _r;
    6754            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6755            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    6756            0 :                       return _r;
    6757              :                     }
    6758           24 : next_after_fail1630:;
    6759              :                   }
    6760              :               }
    6761              :             }
    6762              :           break;
    6763              :         default:;
    6764              :         }
    6765              :       break;
    6766      5885863 :     default:;
    6767              :     }
    6768      5885863 :   switch (TREE_CODE (_p0))
    6769              :     {
    6770       189707 :     case CALL_EXPR:
    6771       189707 :       switch (get_call_combined_fn (_p0))
    6772              :         {
    6773            1 :         case CFN_BUILT_IN_SINHF:
    6774            1 :           if (call_expr_nargs (_p0) == 1)
    6775              :     {
    6776            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6777            1 :               switch (TREE_CODE (_p1))
    6778              :                 {
    6779            1 :                 case CALL_EXPR:
    6780            1 :                   switch (get_call_combined_fn (_p1))
    6781              :                     {
    6782            1 :                     case CFN_BUILT_IN_COSHF:
    6783            1 :                       if (call_expr_nargs (_p1) == 1)
    6784              :     {
    6785            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6786            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6787              :                             {
    6788            1 :                               {
    6789            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6790            1 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
    6791            1 :                                 if (res) return res;
    6792              :                               }
    6793              :                             }
    6794              :                         }
    6795              :                       break;
    6796              :                     default:;
    6797              :                     }
    6798              :                   break;
    6799              :                 default:;
    6800              :                 }
    6801              :             }
    6802              :           break;
    6803            1 :         case CFN_BUILT_IN_SINHL:
    6804            1 :           if (call_expr_nargs (_p0) == 1)
    6805              :     {
    6806            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6807            1 :               switch (TREE_CODE (_p1))
    6808              :                 {
    6809            1 :                 case CALL_EXPR:
    6810            1 :                   switch (get_call_combined_fn (_p1))
    6811              :                     {
    6812            1 :                     case CFN_BUILT_IN_COSHL:
    6813            1 :                       if (call_expr_nargs (_p1) == 1)
    6814              :     {
    6815            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6816            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6817              :                             {
    6818            1 :                               {
    6819            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6820            1 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
    6821            1 :                                 if (res) return res;
    6822              :                               }
    6823              :                             }
    6824              :                         }
    6825              :                       break;
    6826              :                     default:;
    6827              :                     }
    6828              :                   break;
    6829              :                 default:;
    6830              :                 }
    6831              :             }
    6832              :           break;
    6833            1 :         case CFN_BUILT_IN_TANHF:
    6834            1 :           if (call_expr_nargs (_p0) == 1)
    6835              :     {
    6836            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6837            1 :               switch (TREE_CODE (_p1))
    6838              :                 {
    6839            1 :                 case CALL_EXPR:
    6840            1 :                   switch (get_call_combined_fn (_p1))
    6841              :                     {
    6842            1 :                     case CFN_BUILT_IN_SINHF:
    6843            1 :                       if (call_expr_nargs (_p1) == 1)
    6844              :     {
    6845            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6846            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6847              :                             {
    6848            1 :                               {
    6849            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6850            1 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
    6851            1 :                                 if (res) return res;
    6852              :                               }
    6853              :                             }
    6854              :                         }
    6855              :                       break;
    6856              :                     default:;
    6857              :                     }
    6858              :                   break;
    6859              :                 default:;
    6860              :                 }
    6861              :             }
    6862              :           break;
    6863            1 :         case CFN_BUILT_IN_TANHL:
    6864            1 :           if (call_expr_nargs (_p0) == 1)
    6865              :     {
    6866            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6867            1 :               switch (TREE_CODE (_p1))
    6868              :                 {
    6869            1 :                 case CALL_EXPR:
    6870            1 :                   switch (get_call_combined_fn (_p1))
    6871              :                     {
    6872            1 :                     case CFN_BUILT_IN_SINHL:
    6873            1 :                       if (call_expr_nargs (_p1) == 1)
    6874              :     {
    6875            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6876            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6877              :                             {
    6878            1 :                               {
    6879            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6880            1 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
    6881            1 :                                 if (res) return res;
    6882              :                               }
    6883              :                             }
    6884              :                         }
    6885              :                       break;
    6886              :                     default:;
    6887              :                     }
    6888              :                   break;
    6889              :                 default:;
    6890              :                 }
    6891              :             }
    6892              :           break;
    6893            2 :         case CFN_BUILT_IN_COS:
    6894            2 :           if (call_expr_nargs (_p0) == 1)
    6895              :     {
    6896            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6897            2 :               switch (TREE_CODE (_p1))
    6898              :                 {
    6899            2 :                 case CALL_EXPR:
    6900            2 :                   switch (get_call_combined_fn (_p1))
    6901              :                     {
    6902            2 :                     case CFN_BUILT_IN_SIN:
    6903            2 :                       if (call_expr_nargs (_p1) == 1)
    6904              :     {
    6905            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6906            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6907              :                             {
    6908            2 :                               {
    6909            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6910            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
    6911            2 :                                 if (res) return res;
    6912              :                               }
    6913              :                             }
    6914              :                         }
    6915              :                       break;
    6916              :                     default:;
    6917              :                     }
    6918              :                   break;
    6919              :                 default:;
    6920              :                 }
    6921              :             }
    6922              :           break;
    6923            4 :         case CFN_BUILT_IN_POW:
    6924            4 :           if (call_expr_nargs (_p0) == 2)
    6925              :     {
    6926            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6927            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    6928            4 :               switch (TREE_CODE (_q21))
    6929              :                 {
    6930            4 :                 case REAL_CST:
    6931            4 :                   {
    6932            4 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    6933              :                       {
    6934            4 :                         {
    6935            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    6936            4 :                           tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    6937            4 :                           if (res) return res;
    6938              :                         }
    6939              :                       }
    6940              :                     break;
    6941              :                   }
    6942              :                 default:;
    6943              :                 }
    6944              :             }
    6945              :           break;
    6946           86 :         case CFN_BUILT_IN_SIN:
    6947           86 :           if (call_expr_nargs (_p0) == 1)
    6948              :     {
    6949           86 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6950           86 :               switch (TREE_CODE (_p1))
    6951              :                 {
    6952            4 :                 case CALL_EXPR:
    6953            4 :                   switch (get_call_combined_fn (_p1))
    6954              :                     {
    6955            2 :                     case CFN_BUILT_IN_COS:
    6956            2 :                       if (call_expr_nargs (_p1) == 1)
    6957              :     {
    6958            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6959            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6960              :                             {
    6961            2 :                               {
    6962            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6963            2 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
    6964            2 :                                 if (res) return res;
    6965              :                               }
    6966              :                             }
    6967              :                         }
    6968              :                       break;
    6969            2 :                     case CFN_BUILT_IN_TAN:
    6970            2 :                       if (call_expr_nargs (_p1) == 1)
    6971              :     {
    6972            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6973            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6974              :                             {
    6975            2 :                               {
    6976            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6977            2 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
    6978            2 :                                 if (res) return res;
    6979              :                               }
    6980              :                             }
    6981              :                         }
    6982              :                       break;
    6983              :                     default:;
    6984              :                     }
    6985              :                   break;
    6986              :                 default:;
    6987              :                 }
    6988              :             }
    6989              :           break;
    6990            2 :         case CFN_BUILT_IN_TAN:
    6991            2 :           if (call_expr_nargs (_p0) == 1)
    6992              :     {
    6993            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6994            2 :               switch (TREE_CODE (_p1))
    6995              :                 {
    6996            2 :                 case CALL_EXPR:
    6997            2 :                   switch (get_call_combined_fn (_p1))
    6998              :                     {
    6999            2 :                     case CFN_BUILT_IN_SIN:
    7000            2 :                       if (call_expr_nargs (_p1) == 1)
    7001              :     {
    7002            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7003            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7004              :                             {
    7005            2 :                               {
    7006            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7007            2 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
    7008            2 :                                 if (res) return res;
    7009              :                               }
    7010              :                             }
    7011              :                         }
    7012              :                       break;
    7013              :                     default:;
    7014              :                     }
    7015              :                   break;
    7016              :                 default:;
    7017              :                 }
    7018              :             }
    7019              :           break;
    7020            2 :         case CFN_BUILT_IN_COSF:
    7021            2 :           if (call_expr_nargs (_p0) == 1)
    7022              :     {
    7023            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7024            2 :               switch (TREE_CODE (_p1))
    7025              :                 {
    7026            2 :                 case CALL_EXPR:
    7027            2 :                   switch (get_call_combined_fn (_p1))
    7028              :                     {
    7029            2 :                     case CFN_BUILT_IN_SINF:
    7030            2 :                       if (call_expr_nargs (_p1) == 1)
    7031              :     {
    7032            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7033            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7034              :                             {
    7035            2 :                               {
    7036            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7037            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
    7038            2 :                                 if (res) return res;
    7039              :                               }
    7040              :                             }
    7041              :                         }
    7042              :                       break;
    7043              :                     default:;
    7044              :                     }
    7045              :                   break;
    7046              :                 default:;
    7047              :                 }
    7048              :             }
    7049              :           break;
    7050            2 :         case CFN_BUILT_IN_COSL:
    7051            2 :           if (call_expr_nargs (_p0) == 1)
    7052              :     {
    7053            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7054            2 :               switch (TREE_CODE (_p1))
    7055              :                 {
    7056            2 :                 case CALL_EXPR:
    7057            2 :                   switch (get_call_combined_fn (_p1))
    7058              :                     {
    7059            2 :                     case CFN_BUILT_IN_SINL:
    7060            2 :                       if (call_expr_nargs (_p1) == 1)
    7061              :     {
    7062            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7063            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7064              :                             {
    7065            2 :                               {
    7066            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7067            2 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
    7068            2 :                                 if (res) return res;
    7069              :                               }
    7070              :                             }
    7071              :                         }
    7072              :                       break;
    7073              :                     default:;
    7074              :                     }
    7075              :                   break;
    7076              :                 default:;
    7077              :                 }
    7078              :             }
    7079              :           break;
    7080            1 :         case CFN_BUILT_IN_POWF:
    7081            1 :           if (call_expr_nargs (_p0) == 2)
    7082              :     {
    7083            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7084            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7085            1 :               switch (TREE_CODE (_q21))
    7086              :                 {
    7087            1 :                 case REAL_CST:
    7088            1 :                   {
    7089            1 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7090              :                       {
    7091            0 :                         {
    7092            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7093            0 :                           tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7094            0 :                           if (res) return res;
    7095              :                         }
    7096              :                       }
    7097              :                     break;
    7098              :                   }
    7099              :                 default:;
    7100              :                 }
    7101              :             }
    7102              :           break;
    7103            0 :         case CFN_BUILT_IN_POWL:
    7104            0 :           if (call_expr_nargs (_p0) == 2)
    7105              :     {
    7106            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7107            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7108            0 :               switch (TREE_CODE (_q21))
    7109              :                 {
    7110            0 :                 case REAL_CST:
    7111            0 :                   {
    7112            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7113              :                       {
    7114            0 :                         {
    7115            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7116            0 :                           tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7117            0 :                           if (res) return res;
    7118              :                         }
    7119              :                       }
    7120              :                     break;
    7121              :                   }
    7122              :                 default:;
    7123              :                 }
    7124              :             }
    7125              :           break;
    7126            4 :         case CFN_BUILT_IN_SINF:
    7127            4 :           if (call_expr_nargs (_p0) == 1)
    7128              :     {
    7129            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7130            4 :               switch (TREE_CODE (_p1))
    7131              :                 {
    7132            4 :                 case CALL_EXPR:
    7133            4 :                   switch (get_call_combined_fn (_p1))
    7134              :                     {
    7135            2 :                     case CFN_BUILT_IN_COSF:
    7136            2 :                       if (call_expr_nargs (_p1) == 1)
    7137              :     {
    7138            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7139            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7140              :                             {
    7141            2 :                               {
    7142            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7143            2 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
    7144            2 :                                 if (res) return res;
    7145              :                               }
    7146              :                             }
    7147              :                         }
    7148              :                       break;
    7149            2 :                     case CFN_BUILT_IN_TANF:
    7150            2 :                       if (call_expr_nargs (_p1) == 1)
    7151              :     {
    7152            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7153            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7154              :                             {
    7155            2 :                               {
    7156            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7157            2 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
    7158            2 :                                 if (res) return res;
    7159              :                               }
    7160              :                             }
    7161              :                         }
    7162              :                       break;
    7163              :                     default:;
    7164              :                     }
    7165              :                   break;
    7166              :                 default:;
    7167              :                 }
    7168              :             }
    7169              :           break;
    7170          135 :         case CFN_BUILT_IN_SINH:
    7171          135 :           if (call_expr_nargs (_p0) == 1)
    7172              :     {
    7173          135 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7174          135 :               switch (TREE_CODE (_p1))
    7175              :                 {
    7176            3 :                 case CALL_EXPR:
    7177            3 :                   switch (get_call_combined_fn (_p1))
    7178              :                     {
    7179            3 :                     case CFN_BUILT_IN_COSH:
    7180            3 :                       if (call_expr_nargs (_p1) == 1)
    7181              :     {
    7182            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7183            3 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7184              :                             {
    7185            3 :                               {
    7186            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7187            3 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
    7188            3 :                                 if (res) return res;
    7189              :                               }
    7190              :                             }
    7191              :                         }
    7192              :                       break;
    7193              :                     default:;
    7194              :                     }
    7195              :                   break;
    7196              :                 default:;
    7197              :                 }
    7198              :             }
    7199              :           break;
    7200            4 :         case CFN_BUILT_IN_SINL:
    7201            4 :           if (call_expr_nargs (_p0) == 1)
    7202              :     {
    7203            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7204            4 :               switch (TREE_CODE (_p1))
    7205              :                 {
    7206            4 :                 case CALL_EXPR:
    7207            4 :                   switch (get_call_combined_fn (_p1))
    7208              :                     {
    7209            2 :                     case CFN_BUILT_IN_COSL:
    7210            2 :                       if (call_expr_nargs (_p1) == 1)
    7211              :     {
    7212            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7213            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7214              :                             {
    7215            2 :                               {
    7216            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7217            2 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
    7218            2 :                                 if (res) return res;
    7219              :                               }
    7220              :                             }
    7221              :                         }
    7222              :                       break;
    7223            2 :                     case CFN_BUILT_IN_TANL:
    7224            2 :                       if (call_expr_nargs (_p1) == 1)
    7225              :     {
    7226            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7227            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7228              :                             {
    7229            2 :                               {
    7230            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7231            2 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
    7232            2 :                                 if (res) return res;
    7233              :                               }
    7234              :                             }
    7235              :                         }
    7236              :                       break;
    7237              :                     default:;
    7238              :                     }
    7239              :                   break;
    7240              :                 default:;
    7241              :                 }
    7242              :             }
    7243              :           break;
    7244            2 :         case CFN_BUILT_IN_TANF:
    7245            2 :           if (call_expr_nargs (_p0) == 1)
    7246              :     {
    7247            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7248            2 :               switch (TREE_CODE (_p1))
    7249              :                 {
    7250            2 :                 case CALL_EXPR:
    7251            2 :                   switch (get_call_combined_fn (_p1))
    7252              :                     {
    7253            2 :                     case CFN_BUILT_IN_SINF:
    7254            2 :                       if (call_expr_nargs (_p1) == 1)
    7255              :     {
    7256            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7257            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7258              :                             {
    7259            2 :                               {
    7260            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7261            2 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
    7262            2 :                                 if (res) return res;
    7263              :                               }
    7264              :                             }
    7265              :                         }
    7266              :                       break;
    7267              :                     default:;
    7268              :                     }
    7269              :                   break;
    7270              :                 default:;
    7271              :                 }
    7272              :             }
    7273              :           break;
    7274            1 :         case CFN_BUILT_IN_TANH:
    7275            1 :           if (call_expr_nargs (_p0) == 1)
    7276              :     {
    7277            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7278            1 :               switch (TREE_CODE (_p1))
    7279              :                 {
    7280            1 :                 case CALL_EXPR:
    7281            1 :                   switch (get_call_combined_fn (_p1))
    7282              :                     {
    7283            1 :                     case CFN_BUILT_IN_SINH:
    7284            1 :                       if (call_expr_nargs (_p1) == 1)
    7285              :     {
    7286            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7287            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7288              :                             {
    7289            1 :                               {
    7290            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7291            1 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
    7292            1 :                                 if (res) return res;
    7293              :                               }
    7294              :                             }
    7295              :                         }
    7296              :                       break;
    7297              :                     default:;
    7298              :                     }
    7299              :                   break;
    7300              :                 default:;
    7301              :                 }
    7302              :             }
    7303              :           break;
    7304            2 :         case CFN_BUILT_IN_TANL:
    7305            2 :           if (call_expr_nargs (_p0) == 1)
    7306              :     {
    7307            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7308            2 :               switch (TREE_CODE (_p1))
    7309              :                 {
    7310            2 :                 case CALL_EXPR:
    7311            2 :                   switch (get_call_combined_fn (_p1))
    7312              :                     {
    7313            2 :                     case CFN_BUILT_IN_SINL:
    7314            2 :                       if (call_expr_nargs (_p1) == 1)
    7315              :     {
    7316            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7317            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7318              :                             {
    7319            2 :                               {
    7320            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7321            2 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
    7322            2 :                                 if (res) return res;
    7323              :                               }
    7324              :                             }
    7325              :                         }
    7326              :                       break;
    7327              :                     default:;
    7328              :                     }
    7329              :                   break;
    7330              :                 default:;
    7331              :                 }
    7332              :             }
    7333              :           break;
    7334            0 :         case CFN_COS:
    7335            0 :           if (call_expr_nargs (_p0) == 1)
    7336              :     {
    7337            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7338            0 :               switch (TREE_CODE (_p1))
    7339              :                 {
    7340            0 :                 case CALL_EXPR:
    7341            0 :                   switch (get_call_combined_fn (_p1))
    7342              :                     {
    7343            0 :                     case CFN_SIN:
    7344            0 :                       if (call_expr_nargs (_p1) == 1)
    7345              :     {
    7346            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7347            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7348              :                             {
    7349            0 :                               {
    7350            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7351            0 :                                 tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
    7352            0 :                                 if (res) return res;
    7353              :                               }
    7354              :                             }
    7355              :                         }
    7356              :                       break;
    7357              :                     default:;
    7358              :                     }
    7359              :                   break;
    7360              :                 default:;
    7361              :                 }
    7362              :             }
    7363              :           break;
    7364            0 :         case CFN_POW:
    7365            0 :           if (call_expr_nargs (_p0) == 2)
    7366              :     {
    7367            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7368            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7369            0 :               switch (TREE_CODE (_q21))
    7370              :                 {
    7371            0 :                 case REAL_CST:
    7372            0 :                   {
    7373            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7374              :                       {
    7375            0 :                         {
    7376            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7377            0 :                           tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_POW);
    7378            0 :                           if (res) return res;
    7379              :                         }
    7380              :                       }
    7381              :                     break;
    7382              :                   }
    7383              :                 default:;
    7384              :                 }
    7385              :             }
    7386              :           break;
    7387            0 :         case CFN_SIN:
    7388            0 :           if (call_expr_nargs (_p0) == 1)
    7389              :     {
    7390            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7391            0 :               switch (TREE_CODE (_p1))
    7392              :                 {
    7393            0 :                 case CALL_EXPR:
    7394            0 :                   switch (get_call_combined_fn (_p1))
    7395              :                     {
    7396            0 :                     case CFN_COS:
    7397            0 :                       if (call_expr_nargs (_p1) == 1)
    7398              :     {
    7399            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7400            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7401              :                             {
    7402            0 :                               {
    7403            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7404            0 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
    7405            0 :                                 if (res) return res;
    7406              :                               }
    7407              :                             }
    7408              :                         }
    7409              :                       break;
    7410            0 :                     case CFN_TAN:
    7411            0 :                       if (call_expr_nargs (_p1) == 1)
    7412              :     {
    7413            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7414            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7415              :                             {
    7416            0 :                               {
    7417            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7418            0 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
    7419            0 :                                 if (res) return res;
    7420              :                               }
    7421              :                             }
    7422              :                         }
    7423              :                       break;
    7424              :                     default:;
    7425              :                     }
    7426              :                   break;
    7427              :                 default:;
    7428              :                 }
    7429              :             }
    7430              :           break;
    7431            0 :         case CFN_TAN:
    7432            0 :           if (call_expr_nargs (_p0) == 1)
    7433              :     {
    7434            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7435            0 :               switch (TREE_CODE (_p1))
    7436              :                 {
    7437            0 :                 case CALL_EXPR:
    7438            0 :                   switch (get_call_combined_fn (_p1))
    7439              :                     {
    7440            0 :                     case CFN_SIN:
    7441            0 :                       if (call_expr_nargs (_p1) == 1)
    7442              :     {
    7443            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7444            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7445              :                             {
    7446            0 :                               {
    7447            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7448            0 :                                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
    7449            0 :                                 if (res) return res;
    7450              :                               }
    7451              :                             }
    7452              :                         }
    7453              :                       break;
    7454              :                     default:;
    7455              :                     }
    7456              :                   break;
    7457              :                 default:;
    7458              :                 }
    7459              :             }
    7460              :           break;
    7461            0 :         case CFN_SINH:
    7462            0 :           if (call_expr_nargs (_p0) == 1)
    7463              :     {
    7464            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7465            0 :               switch (TREE_CODE (_p1))
    7466              :                 {
    7467            0 :                 case CALL_EXPR:
    7468            0 :                   switch (get_call_combined_fn (_p1))
    7469              :                     {
    7470            0 :                     case CFN_COSH:
    7471            0 :                       if (call_expr_nargs (_p1) == 1)
    7472              :     {
    7473            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7474            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7475              :                             {
    7476            0 :                               {
    7477            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7478            0 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
    7479            0 :                                 if (res) return res;
    7480              :                               }
    7481              :                             }
    7482              :                         }
    7483              :                       break;
    7484              :                     default:;
    7485              :                     }
    7486              :                   break;
    7487              :                 default:;
    7488              :                 }
    7489              :             }
    7490              :           break;
    7491            0 :         case CFN_TANH:
    7492            0 :           if (call_expr_nargs (_p0) == 1)
    7493              :     {
    7494            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7495            0 :               switch (TREE_CODE (_p1))
    7496              :                 {
    7497            0 :                 case CALL_EXPR:
    7498            0 :                   switch (get_call_combined_fn (_p1))
    7499              :                     {
    7500            0 :                     case CFN_SINH:
    7501            0 :                       if (call_expr_nargs (_p1) == 1)
    7502              :     {
    7503            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7504            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7505              :                             {
    7506            0 :                               {
    7507            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7508            0 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
    7509            0 :                                 if (res) return res;
    7510              :                               }
    7511              :                             }
    7512              :                         }
    7513              :                       break;
    7514              :                     default:;
    7515              :                     }
    7516              :                   break;
    7517              :                 default:;
    7518              :                 }
    7519              :             }
    7520              :           break;
    7521              :         default:;
    7522              :         }
    7523              :       break;
    7524      5885829 :     default:;
    7525              :     }
    7526      5885829 :   switch (TREE_CODE (_p1))
    7527              :     {
    7528       789057 :     case CALL_EXPR:
    7529       789057 :       switch (get_call_combined_fn (_p1))
    7530              :         {
    7531           22 :         case CFN_BUILT_IN_POW:
    7532           22 :           if (call_expr_nargs (_p1) == 2)
    7533              :     {
    7534           22 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7535           22 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7536           22 :               {
    7537           22 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7538           22 :                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7539           22 :                 if (res) return res;
    7540              :               }
    7541              :             }
    7542              :           break;
    7543            2 :         case CFN_BUILT_IN_POWF:
    7544            2 :           if (call_expr_nargs (_p1) == 2)
    7545              :     {
    7546            2 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7547            2 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7548            2 :               {
    7549            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7550            2 :                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7551            2 :                 if (res) return res;
    7552              :               }
    7553              :             }
    7554              :           break;
    7555            0 :         case CFN_BUILT_IN_POWL:
    7556            0 :           if (call_expr_nargs (_p1) == 2)
    7557              :     {
    7558            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7559            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7560            0 :               {
    7561            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7562            0 :                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7563            0 :                 if (res) return res;
    7564              :               }
    7565              :             }
    7566              :           break;
    7567            0 :         case CFN_POW:
    7568            0 :           if (call_expr_nargs (_p1) == 2)
    7569              :     {
    7570            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7571            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7572            0 :               {
    7573            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7574            0 :                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_POW);
    7575            0 :                 if (res) return res;
    7576              :               }
    7577              :             }
    7578              :           break;
    7579              :         default:;
    7580              :         }
    7581              :       break;
    7582              :     default:;
    7583              :     }
    7584              :   return NULL_TREE;
    7585              : }
    7586              : 
    7587              : tree
    7588      6611039 : generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7589              : {
    7590      6611039 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7591      6611039 :   switch (TREE_CODE (_p0))
    7592              :     {
    7593         2001 :     case RDIV_EXPR:
    7594         2001 :       {
    7595         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7596         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7597         2001 :         switch (TREE_CODE (_q20))
    7598              :           {
    7599           46 :           case REAL_CST:
    7600           46 :             {
    7601           46 :               if (real_zerop (_p1))
    7602              :                 {
    7603            2 :                   {
    7604            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7605            2 :                     tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7606            2 :                     if (res) return res;
    7607              :                   }
    7608              :                 }
    7609              :               break;
    7610              :             }
    7611              :           default:;
    7612              :           }
    7613              :         break;
    7614              :       }
    7615         1208 :     case TRUNC_MOD_EXPR:
    7616         1208 :       {
    7617         1208 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7618         1208 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7619         1208 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7620              :           {
    7621           26 :             {
    7622           26 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7623           26 :               tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, GE_EXPR);
    7624           26 :               if (res) return res;
    7625              :             }
    7626              :           }
    7627              :         break;
    7628              :       }
    7629        31439 :     case MULT_EXPR:
    7630        31439 :       {
    7631        31439 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7632        31439 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7633        31439 :         switch (TREE_CODE (_p1))
    7634              :           {
    7635         6969 :           case MULT_EXPR:
    7636         6969 :             {
    7637         6969 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7638         6969 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7639         6969 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7640              :                 {
    7641         4709 :                   {
    7642         4709 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7643         4709 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR);
    7644         4709 :                     if (res) return res;
    7645              :                   }
    7646              :                 }
    7647         2798 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7648              :                 {
    7649            0 :                   {
    7650            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7651            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR);
    7652            0 :                     if (res) return res;
    7653              :                   }
    7654              :                 }
    7655         2798 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7656              :                 {
    7657            0 :                   {
    7658            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7659            0 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR);
    7660            0 :                     if (res) return res;
    7661              :                   }
    7662              :                 }
    7663         2798 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7664              :                 {
    7665            1 :                   {
    7666            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7667            1 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR);
    7668            1 :                     if (res) return res;
    7669              :                   }
    7670              :                 }
    7671              :               break;
    7672              :             }
    7673              :           default:;
    7674              :           }
    7675              :         break;
    7676              :       }
    7677      1004379 :     CASE_CONVERT:
    7678      1004379 :       {
    7679      1004379 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7680      1004379 :         switch (TREE_CODE (_q20))
    7681              :           {
    7682          157 :           case EXACT_DIV_EXPR:
    7683          157 :             {
    7684          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7685          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7686          157 :               switch (TREE_CODE (_q31))
    7687              :                 {
    7688          157 :                 case INTEGER_CST:
    7689          157 :                   {
    7690          157 :                     switch (TREE_CODE (_p1))
    7691              :                       {
    7692           43 :                       CASE_CONVERT:
    7693           43 :                         {
    7694           43 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7695           43 :                           switch (TREE_CODE (_q60))
    7696              :                             {
    7697            0 :                             case EXACT_DIV_EXPR:
    7698            0 :                               {
    7699            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7700            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7701            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7702              :                                   {
    7703            0 :                                     {
    7704            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7705            0 :                                       tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, GE_EXPR);
    7706            0 :                                       if (res) return res;
    7707              :                                     }
    7708              :                                   }
    7709              :                                 break;
    7710              :                               }
    7711              :                             default:;
    7712              :                             }
    7713              :                           break;
    7714              :                         }
    7715              :                       default:;
    7716              :                       }
    7717              :                     break;
    7718              :                   }
    7719              :                 default:;
    7720              :                 }
    7721              :               break;
    7722              :             }
    7723              :           default:;
    7724              :           }
    7725              :         break;
    7726              :       }
    7727         8045 :     case EXACT_DIV_EXPR:
    7728         8045 :       {
    7729         8045 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7730         8045 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7731         8045 :         switch (TREE_CODE (_q21))
    7732              :           {
    7733         8045 :           case INTEGER_CST:
    7734         8045 :             {
    7735         8045 :               switch (TREE_CODE (_p1))
    7736              :                 {
    7737            0 :                 case EXACT_DIV_EXPR:
    7738            0 :                   {
    7739            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7740            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7741            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7742              :                       {
    7743            0 :                         {
    7744            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7745            0 :                           tree res = generic_simplify_207 (loc, type, _p0, _p1, captures, GE_EXPR);
    7746            0 :                           if (res) return res;
    7747              :                         }
    7748              :                       }
    7749              :                     break;
    7750              :                   }
    7751              :                 default:;
    7752              :                 }
    7753              :               break;
    7754              :             }
    7755              :           default:;
    7756              :           }
    7757              :         break;
    7758              :       }
    7759        41474 :     case TRUNC_DIV_EXPR:
    7760        41474 :       {
    7761        41474 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7762        41474 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7763        41474 :         switch (TREE_CODE (_q21))
    7764              :           {
    7765        40944 :           case INTEGER_CST:
    7766        40944 :             {
    7767        40944 :               switch (TREE_CODE (_p1))
    7768              :                 {
    7769        40026 :                 case INTEGER_CST:
    7770        40026 :                   {
    7771        40026 :                     {
    7772        40026 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7773        40026 :                       tree res = generic_simplify_216 (loc, type, _p0, _p1, captures, GE_EXPR);
    7774        40026 :                       if (res) return res;
    7775              :                     }
    7776            0 :                     break;
    7777              :                   }
    7778              :                 default:;
    7779              :                 }
    7780              :               break;
    7781              :             }
    7782              :           default:;
    7783              :           }
    7784              :         break;
    7785              :       }
    7786       790321 :     case PLUS_EXPR:
    7787       790321 :       {
    7788       790321 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7789       790321 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7790       790321 :         switch (TREE_CODE (_p1))
    7791              :           {
    7792        52217 :           case PLUS_EXPR:
    7793        52217 :             {
    7794        52217 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7795        52217 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7796        52217 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7797              :                 {
    7798         1430 :                   {
    7799         1430 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7800         1430 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR);
    7801         1430 :                     if (res) return res;
    7802              :                   }
    7803              :                 }
    7804        52217 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7805              :                 {
    7806           17 :                   {
    7807           17 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7808           17 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR);
    7809           17 :                     if (res) return res;
    7810              :                   }
    7811              :                 }
    7812        52217 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7813              :                 {
    7814           16 :                   {
    7815           16 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7816           16 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR);
    7817           16 :                     if (res) return res;
    7818              :                   }
    7819              :                 }
    7820        52217 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7821              :                 {
    7822          961 :                   {
    7823          961 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7824          961 :                     tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR);
    7825          961 :                     if (res) return res;
    7826              :                   }
    7827              :                 }
    7828              :               break;
    7829              :             }
    7830       790273 :           default:;
    7831              :           }
    7832       790273 :         switch (TREE_CODE (_q21))
    7833              :           {
    7834       677719 :           case INTEGER_CST:
    7835       677719 :             {
    7836       677719 :               switch (TREE_CODE (_p1))
    7837              :                 {
    7838        15112 :                 case PLUS_EXPR:
    7839        15112 :                   {
    7840        15112 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7841        15112 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7842        15112 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7843              :                       {
    7844         1426 :                         {
    7845         1426 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7846         1426 :                           tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, GE_EXPR);
    7847         1426 :                           if (res) return res;
    7848              :                         }
    7849              :                       }
    7850              :                     break;
    7851              :                   }
    7852              :                 default:;
    7853              :                 }
    7854              :               break;
    7855              :             }
    7856       790273 :           default:;
    7857              :           }
    7858       790273 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7859              :           {
    7860        53794 :             {
    7861        53794 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7862        53794 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7863        53794 :               if (res) return res;
    7864              :             }
    7865              :           }
    7866       756118 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7867              :           {
    7868        24573 :             {
    7869        24573 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7870        24573 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR);
    7871        24573 :               if (res) return res;
    7872              :             }
    7873              :           }
    7874              :         break;
    7875              :       }
    7876       118135 :     case MINUS_EXPR:
    7877       118135 :       {
    7878       118135 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7879       118135 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7880       118135 :         switch (TREE_CODE (_p1))
    7881              :           {
    7882         1400 :           case MINUS_EXPR:
    7883         1400 :             {
    7884         1400 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7885         1400 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7886         1400 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7887              :                 {
    7888           14 :                   {
    7889           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7890           14 :                     tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GE_EXPR);
    7891           14 :                     if (res) return res;
    7892              :                   }
    7893              :                 }
    7894         1400 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7895              :                 {
    7896           22 :                   {
    7897           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7898           22 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7899           22 :                     if (res) return res;
    7900              :                   }
    7901              :                 }
    7902              :               break;
    7903              :             }
    7904              :           default:;
    7905              :           }
    7906              :         break;
    7907              :       }
    7908         2374 :     case POINTER_DIFF_EXPR:
    7909         2374 :       {
    7910         2374 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7911         2374 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7912         2374 :         switch (TREE_CODE (_p1))
    7913              :           {
    7914           32 :           case POINTER_DIFF_EXPR:
    7915           32 :             {
    7916           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7917           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7918           32 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7919              :                 {
    7920            0 :                   {
    7921            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7922            0 :                     tree res = generic_simplify_220 (loc, type, _p0, _p1, captures, GE_EXPR);
    7923            0 :                     if (res) return res;
    7924              :                   }
    7925              :                 }
    7926           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7927              :                 {
    7928            0 :                   {
    7929            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    7930            0 :                     tree res = generic_simplify_221 (loc, type, _p0, _p1, captures, GE_EXPR);
    7931            0 :                     if (res) return res;
    7932              :                   }
    7933              :                 }
    7934              :               break;
    7935              :             }
    7936              :           default:;
    7937              :           }
    7938              :         break;
    7939              :       }
    7940      6529067 :     default:;
    7941              :     }
    7942      6529067 :   switch (TREE_CODE (_p1))
    7943              :     {
    7944        58998 :     case PLUS_EXPR:
    7945        58998 :       {
    7946        58998 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7947        58998 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7948        58998 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    7949              :           {
    7950            0 :             {
    7951            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    7952            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    7953            0 :               if (res) return res;
    7954              :             }
    7955              :           }
    7956        58998 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7957              :           {
    7958            0 :             {
    7959            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    7960            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, LE_EXPR);
    7961            0 :               if (res) return res;
    7962              :             }
    7963              :           }
    7964              :         break;
    7965              :       }
    7966         2408 :     case MINUS_EXPR:
    7967         2408 :       {
    7968         2408 :         tree _q30 = TREE_OPERAND (_p1, 0);
    7969         2408 :         tree _q31 = TREE_OPERAND (_p1, 1);
    7970         2408 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    7971              :           {
    7972            0 :             {
    7973            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    7974            0 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GE_EXPR);
    7975            0 :               if (res) return res;
    7976              :             }
    7977              :           }
    7978              :         break;
    7979              :       }
    7980      6529067 :     default:;
    7981              :     }
    7982      6529067 :   switch (TREE_CODE (_p0))
    7983              :     {
    7984       118135 :     case MINUS_EXPR:
    7985       118135 :       {
    7986       118135 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7987       118135 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7988       118135 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7989              :           {
    7990         2744 :             {
    7991         2744 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    7992         2744 :               tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, LE_EXPR);
    7993         2744 :               if (res) return res;
    7994              :             }
    7995              :           }
    7996              :         break;
    7997              :       }
    7998         1065 :     case BIT_IOR_EXPR:
    7999         1065 :       {
    8000         1065 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8001         1065 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8002         1065 :         if (tree_expr_nonnegative_p (_q20))
    8003              :           {
    8004          222 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8005              :               {
    8006            0 :                 {
    8007            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8008            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8009            0 :                   if (res) return res;
    8010              :                 }
    8011              :               }
    8012              :           }
    8013         1065 :         if (tree_expr_nonnegative_p (_q21))
    8014              :           {
    8015          296 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8016              :               {
    8017            0 :                 {
    8018            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8019            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8020            0 :                   if (res) return res;
    8021              :                 }
    8022              :               }
    8023              :           }
    8024              :         break;
    8025              :       }
    8026      6529066 :     default:;
    8027              :     }
    8028      6529066 :   switch (TREE_CODE (_p1))
    8029              :     {
    8030          195 :     case BIT_AND_EXPR:
    8031          195 :       {
    8032          195 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8033          195 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8034          195 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8035              :           {
    8036            0 :             if (tree_expr_nonnegative_p (_q30))
    8037              :               {
    8038            0 :                 {
    8039            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8040            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8041            0 :                   if (res) return res;
    8042              :                 }
    8043              :               }
    8044              :           }
    8045          195 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8046              :           {
    8047            0 :             if (tree_expr_nonnegative_p (_q31))
    8048              :               {
    8049            0 :                 {
    8050            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8051            0 :                   tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8052            0 :                   if (res) return res;
    8053              :                 }
    8054              :               }
    8055              :           }
    8056              :         break;
    8057              :       }
    8058      6529066 :     default:;
    8059              :     }
    8060      6529066 :   switch (TREE_CODE (_p0))
    8061              :     {
    8062          838 :     case MAX_EXPR:
    8063          838 :       {
    8064          838 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8065          838 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8066          838 :         switch (TREE_CODE (_p1))
    8067              :           {
    8068            0 :           case MIN_EXPR:
    8069            0 :             {
    8070            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8071            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8072            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8073              :                 {
    8074            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8075              :                     {
    8076            0 :                       {
    8077            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8078            0 :                         tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, LE_EXPR);
    8079            0 :                         if (res) return res;
    8080              :                       }
    8081              :                     }
    8082              :                 }
    8083              :               break;
    8084              :             }
    8085              :           default:;
    8086              :           }
    8087              :         break;
    8088              :       }
    8089         2966 :     case MIN_EXPR:
    8090         2966 :       {
    8091         2966 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8092         2966 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8093         2966 :         switch (TREE_CODE (_p1))
    8094              :           {
    8095           27 :           case MAX_EXPR:
    8096           27 :             {
    8097           27 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8098           27 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8099           27 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8100              :                 {
    8101            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8102              :                     {
    8103            0 :                       {
    8104            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8105            0 :                         tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    8106            0 :                         if (res) return res;
    8107              :                       }
    8108              :                     }
    8109              :                 }
    8110              :               break;
    8111              :             }
    8112         2966 :           default:;
    8113              :           }
    8114         2966 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8115              :           {
    8116            0 :             {
    8117            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8118            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8119            0 :               if (res) return res;
    8120              :             }
    8121              :           }
    8122         2966 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8123              :           {
    8124            1 :             {
    8125            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8126            1 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8127            1 :               if (res) return res;
    8128              :             }
    8129              :           }
    8130              :         break;
    8131              :       }
    8132      6529065 :     default:;
    8133              :     }
    8134      6529065 :   switch (TREE_CODE (_p1))
    8135              :     {
    8136          202 :     case MAX_EXPR:
    8137          202 :       {
    8138          202 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8139          202 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8140          202 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8141              :           {
    8142            0 :             {
    8143            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8144            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8145            0 :               if (res) return res;
    8146              :             }
    8147              :           }
    8148          202 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8149              :           {
    8150            0 :             {
    8151            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8152            0 :               tree res = generic_simplify_229 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8153            0 :               if (res) return res;
    8154              :             }
    8155              :           }
    8156              :         break;
    8157              :       }
    8158         1771 :     case MIN_EXPR:
    8159         1771 :       {
    8160         1771 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8161         1771 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8162         1771 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8163              :           {
    8164            0 :             {
    8165            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8166            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8167            0 :               if (res) return res;
    8168              :             }
    8169              :           }
    8170         1771 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8171              :           {
    8172            0 :             {
    8173            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8174            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8175            0 :               if (res) return res;
    8176              :             }
    8177              :           }
    8178              :         break;
    8179              :       }
    8180      6529065 :     default:;
    8181              :     }
    8182      6529065 :   switch (TREE_CODE (_p0))
    8183              :     {
    8184          838 :     case MAX_EXPR:
    8185          838 :       {
    8186          838 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8187          838 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8188          838 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8189              :           {
    8190            0 :             {
    8191            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8192            0 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8193            0 :               if (res) return res;
    8194              :             }
    8195              :           }
    8196          838 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8197              :           {
    8198            2 :             {
    8199            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8200            2 :               tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8201            2 :               if (res) return res;
    8202              :             }
    8203              :           }
    8204          836 :         switch (TREE_CODE (_q21))
    8205              :           {
    8206          759 :           case INTEGER_CST:
    8207          759 :             {
    8208          759 :               switch (TREE_CODE (_p1))
    8209              :                 {
    8210            0 :                 case INTEGER_CST:
    8211            0 :                   {
    8212            0 :                     {
    8213            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8214            0 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
    8215            0 :                       if (res) return res;
    8216              :                     }
    8217            0 :                     break;
    8218              :                   }
    8219              :                 default:;
    8220              :                 }
    8221              :               break;
    8222              :             }
    8223              :           default:;
    8224              :           }
    8225              :         break;
    8226              :       }
    8227         2965 :     case MIN_EXPR:
    8228         2965 :       {
    8229         2965 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8230         2965 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8231         2965 :         switch (TREE_CODE (_q21))
    8232              :           {
    8233          995 :           case INTEGER_CST:
    8234          995 :             {
    8235          995 :               switch (TREE_CODE (_p1))
    8236              :                 {
    8237            0 :                 case INTEGER_CST:
    8238            0 :                   {
    8239            0 :                     {
    8240            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8241            0 :                       tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
    8242            0 :                       if (res) return res;
    8243              :                     }
    8244            0 :                     break;
    8245              :                   }
    8246              :                 default:;
    8247              :                 }
    8248              :               break;
    8249              :             }
    8250              :           default:;
    8251              :           }
    8252              :         break;
    8253              :       }
    8254      1004379 :     CASE_CONVERT:
    8255      1004379 :       {
    8256      1004379 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8257      1004379 :         switch (TREE_CODE (_q20))
    8258              :           {
    8259            0 :           case GE_EXPR:
    8260            0 :             {
    8261            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8262            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8263            0 :               if (tree_zero_one_valued_p (_q30))
    8264              :                 {
    8265            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8266              :                     {
    8267            0 :                       {
    8268            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    8269            0 :                         tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GE_EXPR);
    8270            0 :                         if (res) return res;
    8271              :                       }
    8272              :                     }
    8273              :                 }
    8274              :               break;
    8275              :             }
    8276              :           default:;
    8277              :           }
    8278              :         break;
    8279              :       }
    8280           41 :     case GE_EXPR:
    8281           41 :       {
    8282           41 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8283           41 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8284           41 :         if (tree_zero_one_valued_p (_q20))
    8285              :           {
    8286           15 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8287              :               {
    8288            3 :                 {
    8289            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8290            3 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GE_EXPR);
    8291            3 :                   if (res) return res;
    8292              :                 }
    8293              :               }
    8294              :           }
    8295              :         break;
    8296              :       }
    8297            6 :     case VEC_COND_EXPR:
    8298            6 :       {
    8299            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8300            6 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8301            6 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8302            6 :         switch (TREE_CODE (_p1))
    8303              :           {
    8304            0 :           case VEC_COND_EXPR:
    8305            0 :             {
    8306            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8307            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8308            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8309            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8310              :                 {
    8311            0 :                   {
    8312            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8313            0 :                     if (VECTOR_TYPE_P (type)
    8314            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8315            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8316            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8317              :  || (optimize_vectors_before_lowering_p ()
    8318            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8319              : )
    8320              :                       {
    8321            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1642;
    8322            0 :                         {
    8323            0 :                           tree res_op0;
    8324            0 :                           res_op0 = captures[1];
    8325            0 :                           tree res_op1;
    8326            0 :                           {
    8327            0 :                             tree _o1[2], _r1;
    8328            0 :                             _o1[0] = captures[2];
    8329            0 :                             _o1[1] = captures[5];
    8330            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8331            0 :                             if (EXPR_P (_r1))
    8332            0 :                               goto next_after_fail1642;
    8333            0 :                             res_op1 = _r1;
    8334              :                           }
    8335            0 :                           tree res_op2;
    8336            0 :                           {
    8337            0 :                             tree _o1[2], _r1;
    8338            0 :                             _o1[0] = captures[3];
    8339            0 :                             _o1[1] = captures[6];
    8340            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8341            0 :                             if (EXPR_P (_r1))
    8342            0 :                               goto next_after_fail1642;
    8343            0 :                             res_op2 = _r1;
    8344              :                           }
    8345            0 :                           tree _r;
    8346            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8347            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
    8348            0 :                           return _r;
    8349              :                         }
    8350            0 : next_after_fail1642:;
    8351              :                       }
    8352              :                   }
    8353              :                 }
    8354              :               break;
    8355              :             }
    8356            6 :           default:;
    8357              :           }
    8358            6 :         {
    8359            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8360            6 :           if (VECTOR_TYPE_P (type)
    8361            6 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8362            6 :  || types_match (type, TREE_TYPE (captures[2]))
    8363            6 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8364              :  || (optimize_vectors_before_lowering_p ()
    8365            2 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8366              : )
    8367              :             {
    8368            6 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1643;
    8369            6 :               {
    8370            6 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1643;
    8371            5 :                 tree res_op0;
    8372            5 :                 res_op0 = captures[1];
    8373            5 :                 tree res_op1;
    8374            5 :                 {
    8375            5 :                   tree _o1[2], _r1;
    8376            5 :                   _o1[0] = captures[2];
    8377            5 :                   _o1[1] = unshare_expr (captures[4]);
    8378            5 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8379            5 :                   if (EXPR_P (_r1))
    8380            1 :                     goto next_after_fail1643;
    8381            4 :                   res_op1 = _r1;
    8382              :                 }
    8383            4 :                 tree res_op2;
    8384            4 :                 {
    8385            4 :                   tree _o1[2], _r1;
    8386            4 :                   _o1[0] = captures[3];
    8387            4 :                   _o1[1] = captures[4];
    8388            4 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8389            4 :                   if (EXPR_P (_r1))
    8390            0 :                     goto next_after_fail1643;
    8391            4 :                   res_op2 = _r1;
    8392              :                 }
    8393            4 :                 tree _r;
    8394            4 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8395            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
    8396            4 :                 return _r;
    8397              :               }
    8398            2 : next_after_fail1643:;
    8399              :             }
    8400              :         }
    8401            2 :         break;
    8402              :       }
    8403      6529056 :     default:;
    8404              :     }
    8405      6529056 :   switch (TREE_CODE (_p1))
    8406              :     {
    8407            0 :     case VEC_COND_EXPR:
    8408            0 :       {
    8409            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8410            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8411            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8412            0 :         {
    8413            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8414            0 :           if (VECTOR_TYPE_P (type)
    8415            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8416            0 :  || types_match (type, TREE_TYPE (captures[3]))
    8417            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8418              :  || (optimize_vectors_before_lowering_p ()
    8419            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8420              : )
    8421              :             {
    8422            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1644;
    8423            0 :               {
    8424            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1644;
    8425            0 :                 tree res_op0;
    8426            0 :                 res_op0 = captures[2];
    8427            0 :                 tree res_op1;
    8428            0 :                 {
    8429            0 :                   tree _o1[2], _r1;
    8430            0 :                   _o1[0] = unshare_expr (captures[0]);
    8431            0 :                   _o1[1] = captures[3];
    8432            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8433            0 :                   if (EXPR_P (_r1))
    8434            0 :                     goto next_after_fail1644;
    8435            0 :                   res_op1 = _r1;
    8436              :                 }
    8437            0 :                 tree res_op2;
    8438            0 :                 {
    8439            0 :                   tree _o1[2], _r1;
    8440            0 :                   _o1[0] = captures[0];
    8441            0 :                   _o1[1] = captures[4];
    8442            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8443            0 :                   if (EXPR_P (_r1))
    8444            0 :                     goto next_after_fail1644;
    8445            0 :                   res_op2 = _r1;
    8446              :                 }
    8447            0 :                 tree _r;
    8448            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8449            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
    8450            0 :                 return _r;
    8451              :               }
    8452            0 : next_after_fail1644:;
    8453              :             }
    8454              :         }
    8455            0 :         break;
    8456              :       }
    8457      6529056 :     default:;
    8458              :     }
    8459      6529056 : if (uniform_integer_cst_p (_p1))
    8460              :   {
    8461      3291107 :     {
    8462      3291107 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8463      3291107 :       tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8464      3291107 :       if (res) return res;
    8465              :     }
    8466              :   }
    8467      5051834 :   switch (TREE_CODE (_p0))
    8468              :     {
    8469        23825 :     case MULT_EXPR:
    8470        23825 :       {
    8471        23825 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8472        23825 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8473        23825 :         switch (TREE_CODE (_q21))
    8474              :           {
    8475        19906 :           case INTEGER_CST:
    8476        19906 :             {
    8477        19906 :               if (integer_zerop (_p1))
    8478              :                 {
    8479         2746 :                   {
    8480         2746 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8481         2746 :                     tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8482         2746 :                     if (res) return res;
    8483              :                   }
    8484              :                 }
    8485              :               break;
    8486              :             }
    8487              :           default:;
    8488              :           }
    8489              :         break;
    8490              :       }
    8491      5051542 :     default:;
    8492              :     }
    8493      5051542 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8494              :     {
    8495        37628 :       {
    8496        37628 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8497        37628 :         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, GE_EXPR);
    8498        37628 :         if (res) return res;
    8499              :       }
    8500              :     }
    8501      5013951 :   switch (TREE_CODE (_p0))
    8502              :     {
    8503          422 :     case BIT_NOT_EXPR:
    8504          422 :       {
    8505          422 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8506          422 :         switch (TREE_CODE (_p1))
    8507              :           {
    8508            1 :           case BIT_NOT_EXPR:
    8509            1 :             {
    8510            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8511            1 :               {
    8512            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8513            1 :                 tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, GE_EXPR);
    8514            1 :                 if (res) return res;
    8515              :               }
    8516            0 :               break;
    8517              :             }
    8518          421 :           default:;
    8519              :           }
    8520          421 :       {
    8521          421 :         tree _p1_pops[1];
    8522          421 :         if (tree_nop_convert (_p1, _p1_pops))
    8523              :           {
    8524           50 :             tree _q40 = _p1_pops[0];
    8525           50 :             switch (TREE_CODE (_q40))
    8526              :               {
    8527            0 :               case BIT_NOT_EXPR:
    8528            0 :                 {
    8529            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8530            0 :                   {
    8531            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8532            0 :                     tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, GE_EXPR);
    8533            0 :                     if (res) return res;
    8534              :                   }
    8535            0 :                   break;
    8536              :                 }
    8537              :               default:;
    8538              :               }
    8539              :           }
    8540              :       }
    8541          421 :       if (CONSTANT_CLASS_P (_p1))
    8542              :         {
    8543           98 :           {
    8544           98 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8545           98 :             tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8546           98 :             if (res) return res;
    8547              :           }
    8548              :         }
    8549              :         break;
    8550              :       }
    8551      5013852 :     default:;
    8552              :     }
    8553      5013852 : {
    8554      5013852 :   tree _p0_pops[1];
    8555      5013852 :   if (tree_nop_convert (_p0, _p0_pops))
    8556              :     {
    8557       226503 :       tree _q20 = _p0_pops[0];
    8558       226503 :       switch (TREE_CODE (_q20))
    8559              :         {
    8560            4 :         case BIT_NOT_EXPR:
    8561            4 :           {
    8562            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8563            4 :             switch (TREE_CODE (_p1))
    8564              :               {
    8565            0 :               case BIT_NOT_EXPR:
    8566            0 :                 {
    8567            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8568            0 :                   {
    8569            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8570            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GE_EXPR);
    8571            0 :                     if (res) return res;
    8572              :                   }
    8573            0 :                   break;
    8574              :                 }
    8575            4 :               default:;
    8576              :               }
    8577            4 :           {
    8578            4 :             tree _p1_pops[1];
    8579            4 :             if (tree_nop_convert (_p1, _p1_pops))
    8580              :               {
    8581            0 :                 tree _q50 = _p1_pops[0];
    8582            0 :                 switch (TREE_CODE (_q50))
    8583              :                   {
    8584            0 :                   case BIT_NOT_EXPR:
    8585            0 :                     {
    8586            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8587            0 :                       {
    8588            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8589            0 :                         tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GE_EXPR);
    8590            0 :                         if (res) return res;
    8591              :                       }
    8592            0 :                       break;
    8593              :                     }
    8594              :                   default:;
    8595              :                   }
    8596              :               }
    8597              :           }
    8598            4 :           if (CONSTANT_CLASS_P (_p1))
    8599              :             {
    8600            0 :               {
    8601            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8602            0 :                 tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8603            0 :                 if (res) return res;
    8604              :               }
    8605              :             }
    8606              :             break;
    8607              :           }
    8608              :         default:;
    8609              :         }
    8610              :     }
    8611              : }
    8612      5013852 :   switch (TREE_CODE (_p1))
    8613              :     {
    8614       627759 :     case REAL_CST:
    8615       627759 :       {
    8616       627759 :         {
    8617       627759 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8618       627759 :           tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GE_EXPR);
    8619       627759 :           if (res) return res;
    8620              :         }
    8621       627690 :         break;
    8622              :       }
    8623      5013783 :     default:;
    8624              :     }
    8625      5013783 :   switch (TREE_CODE (_p0))
    8626              :     {
    8627       674729 :     case PLUS_EXPR:
    8628       674729 :       {
    8629       674729 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8630       674729 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8631       674729 :         switch (TREE_CODE (_q21))
    8632              :           {
    8633          168 :           case REAL_CST:
    8634          168 :             {
    8635          168 :               switch (TREE_CODE (_p1))
    8636              :                 {
    8637           20 :                 case REAL_CST:
    8638           20 :                   {
    8639           20 :                     {
    8640           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8641           20 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
    8642           20 :                       if (res) return res;
    8643              :                     }
    8644           20 :                     break;
    8645              :                   }
    8646              :                 default:;
    8647              :                 }
    8648              :               break;
    8649              :             }
    8650       562280 :           case INTEGER_CST:
    8651       562280 :             {
    8652       562280 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8653              :                 {
    8654        16008 :                   {
    8655        16008 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8656        16008 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8657        16008 :                     if (res) return res;
    8658              :                   }
    8659              :                 }
    8660              :               break;
    8661              :             }
    8662              :           default:;
    8663              :           }
    8664              :         break;
    8665              :       }
    8666        58470 :     case MINUS_EXPR:
    8667        58470 :       {
    8668        58470 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8669        58470 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8670        58470 :         switch (TREE_CODE (_q21))
    8671              :           {
    8672           31 :           case REAL_CST:
    8673           31 :             {
    8674           31 :               switch (TREE_CODE (_p1))
    8675              :                 {
    8676           31 :                 case REAL_CST:
    8677           31 :                   {
    8678           31 :                     {
    8679           31 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8680           31 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
    8681           31 :                       if (res) return res;
    8682              :                     }
    8683           31 :                     break;
    8684              :                   }
    8685              :                 default:;
    8686              :                 }
    8687              :               break;
    8688              :             }
    8689        58470 :           default:;
    8690              :           }
    8691        58470 :         switch (TREE_CODE (_q20))
    8692              :           {
    8693           24 :           case REAL_CST:
    8694           24 :             {
    8695           24 :               switch (TREE_CODE (_p1))
    8696              :                 {
    8697            0 :                 case REAL_CST:
    8698            0 :                   {
    8699            0 :                     {
    8700            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8701            0 :                       tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, GE_EXPR);
    8702            0 :                       if (res) return res;
    8703              :                     }
    8704            0 :                     break;
    8705              :                   }
    8706              :                 default:;
    8707              :                 }
    8708              :               break;
    8709              :             }
    8710              :           default:;
    8711              :           }
    8712              :         break;
    8713              :       }
    8714        39338 :     case FLOAT_EXPR:
    8715        39338 :       {
    8716        39338 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8717        39338 :         switch (TREE_CODE (_p1))
    8718              :           {
    8719            7 :           case FLOAT_EXPR:
    8720            7 :             {
    8721            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8722            7 :               {
    8723            7 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8724            7 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8725            7 :                 if (res) return res;
    8726              :               }
    8727            0 :               break;
    8728              :             }
    8729        37859 :           case REAL_CST:
    8730        37859 :             {
    8731        37859 :               {
    8732        37859 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8733        37859 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8734        37859 :                 if (res) return res;
    8735              :               }
    8736        18966 :               break;
    8737              :             }
    8738              :           default:;
    8739              :           }
    8740              :         break;
    8741              :       }
    8742         8006 :     case EXACT_DIV_EXPR:
    8743         8006 :       {
    8744         8006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8745         8006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8746         8006 :         switch (TREE_CODE (_q21))
    8747              :           {
    8748         8006 :           case INTEGER_CST:
    8749         8006 :             {
    8750         8006 :               switch (TREE_CODE (_p1))
    8751              :                 {
    8752            0 :                 case INTEGER_CST:
    8753            0 :                   {
    8754            0 :                     {
    8755            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8756            0 :                       tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, GE_EXPR);
    8757            0 :                       if (res) return res;
    8758              :                     }
    8759            0 :                     break;
    8760              :                   }
    8761              :                 default:;
    8762              :                 }
    8763              :               break;
    8764              :             }
    8765              :           default:;
    8766              :           }
    8767              :         break;
    8768              :       }
    8769       599518 :     CASE_CONVERT:
    8770       599518 :       {
    8771       599518 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8772       599518 :         switch (TREE_CODE (_q20))
    8773              :           {
    8774          157 :           case EXACT_DIV_EXPR:
    8775          157 :             {
    8776          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8777          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8778          157 :               switch (TREE_CODE (_q31))
    8779              :                 {
    8780          157 :                 case INTEGER_CST:
    8781          157 :                   {
    8782          157 :                     switch (TREE_CODE (_p1))
    8783              :                       {
    8784            0 :                       case INTEGER_CST:
    8785            0 :                         {
    8786            0 :                           {
    8787            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8788            0 :                             tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    8789            0 :                             if (res) return res;
    8790              :                           }
    8791            0 :                           break;
    8792              :                         }
    8793              :                       default:;
    8794              :                       }
    8795              :                     break;
    8796              :                   }
    8797              :                 default:;
    8798              :                 }
    8799              :               break;
    8800              :             }
    8801       599518 :           default:;
    8802              :           }
    8803       599518 :         switch (TREE_CODE (_p1))
    8804              :           {
    8805        94701 :           CASE_CONVERT:
    8806        94701 :             {
    8807        94701 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8808        94701 :               {
    8809        94701 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8810        94701 :                 tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, GE_EXPR);
    8811        94701 :                 if (res) return res;
    8812              :               }
    8813        58034 :               break;
    8814              :             }
    8815       562851 :           default:;
    8816              :           }
    8817       562851 :         {
    8818       562851 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8819       562851 :           tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GE_EXPR);
    8820       562851 :           if (res) return res;
    8821              :         }
    8822       309042 :         switch (TREE_CODE (_q20))
    8823              :           {
    8824         1449 :           case ADDR_EXPR:
    8825         1449 :             {
    8826         1449 :               switch (TREE_CODE (_p1))
    8827              :                 {
    8828         1378 :                 CASE_CONVERT:
    8829         1378 :                   {
    8830         1378 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8831         1378 :                     switch (TREE_CODE (_q40))
    8832              :                       {
    8833         1378 :                       case ADDR_EXPR:
    8834         1378 :                         {
    8835         1378 :                           {
    8836         1378 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8837         1378 :                             tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GE_EXPR);
    8838         1378 :                             if (res) return res;
    8839              :                           }
    8840          178 :                           break;
    8841              :                         }
    8842              :                       default:;
    8843              :                       }
    8844              :                     break;
    8845              :                   }
    8846            7 :                 case ADDR_EXPR:
    8847            7 :                   {
    8848            7 :                     {
    8849            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8850            7 :                       tree res = generic_simplify_285 (loc, type, _p0, _p1, captures, GE_EXPR);
    8851            7 :                       if (res) return res;
    8852              :                     }
    8853            0 :                     break;
    8854              :                   }
    8855              :                 default:;
    8856              :                 }
    8857              :               break;
    8858              :             }
    8859       307835 :           default:;
    8860              :           }
    8861       307835 :         if (uniform_integer_cst_p (_p1))
    8862              :           {
    8863        97300 :             {
    8864        97300 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8865        97300 :               tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR);
    8866        97300 :               if (res) return res;
    8867              :             }
    8868              :           }
    8869              :         break;
    8870              :       }
    8871          787 :     case NEGATE_EXPR:
    8872          787 :       {
    8873          787 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8874          787 :         switch (TREE_CODE (_p1))
    8875              :           {
    8876            0 :           case NEGATE_EXPR:
    8877            0 :             {
    8878            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8879            0 :               {
    8880            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8881            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8882            0 :                 if (res) return res;
    8883              :               }
    8884            0 :               break;
    8885              :             }
    8886          787 :           default:;
    8887              :           }
    8888          787 :       if (CONSTANT_CLASS_P (_p1))
    8889              :         {
    8890          270 :           {
    8891          270 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8892          270 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8893          270 :             if (res) return res;
    8894              :           }
    8895              :         }
    8896              :         break;
    8897              :       }
    8898         7630 :     case ADDR_EXPR:
    8899         7630 :       {
    8900         7630 :         switch (TREE_CODE (_p1))
    8901              :           {
    8902            0 :           CASE_CONVERT:
    8903            0 :             {
    8904            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    8905            0 :               switch (TREE_CODE (_q30))
    8906              :                 {
    8907            0 :                 case ADDR_EXPR:
    8908            0 :                   {
    8909            0 :                     {
    8910            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    8911            0 :                       tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, GE_EXPR);
    8912            0 :                       if (res) return res;
    8913              :                     }
    8914            0 :                     break;
    8915              :                   }
    8916              :                 default:;
    8917              :                 }
    8918              :               break;
    8919              :             }
    8920         7262 :           case ADDR_EXPR:
    8921         7262 :             {
    8922         7262 :               {
    8923         7262 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8924         7262 :                 tree res = generic_simplify_286 (loc, type, _p0, _p1, captures, GE_EXPR);
    8925         7262 :                 if (res) return res;
    8926              :               }
    8927           92 :               break;
    8928              :             }
    8929              :           default:;
    8930              :           }
    8931              :         break;
    8932              :       }
    8933       227561 :     case CALL_EXPR:
    8934       227561 :       switch (get_call_combined_fn (_p0))
    8935              :         {
    8936            2 :         case CFN_BUILT_IN_SQRTF:
    8937            2 :           if (call_expr_nargs (_p0) == 1)
    8938              :     {
    8939            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8940            2 :               switch (TREE_CODE (_p1))
    8941              :                 {
    8942            2 :                 case REAL_CST:
    8943            2 :                   {
    8944            2 :                     {
    8945            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8946            2 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    8947            2 :                       if (res) return res;
    8948              :                     }
    8949            0 :                     break;
    8950              :                   }
    8951            0 :                 case CALL_EXPR:
    8952            0 :                   switch (get_call_combined_fn (_p1))
    8953              :                     {
    8954            0 :                     case CFN_BUILT_IN_SQRTF:
    8955            0 :                       if (call_expr_nargs (_p1) == 1)
    8956              :     {
    8957            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8958            0 :                           {
    8959            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8960            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    8961            0 :                             if (res) return res;
    8962              :                           }
    8963              :                         }
    8964              :                       break;
    8965              :                     default:;
    8966              :                     }
    8967              :                   break;
    8968              :                 default:;
    8969              :                 }
    8970              :             }
    8971              :           break;
    8972            0 :         case CFN_BUILT_IN_SQRTL:
    8973            0 :           if (call_expr_nargs (_p0) == 1)
    8974              :     {
    8975            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8976            0 :               switch (TREE_CODE (_p1))
    8977              :                 {
    8978            0 :                 case REAL_CST:
    8979            0 :                   {
    8980            0 :                     {
    8981            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8982            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    8983            0 :                       if (res) return res;
    8984              :                     }
    8985            0 :                     break;
    8986              :                   }
    8987            0 :                 case CALL_EXPR:
    8988            0 :                   switch (get_call_combined_fn (_p1))
    8989              :                     {
    8990            0 :                     case CFN_BUILT_IN_SQRTL:
    8991            0 :                       if (call_expr_nargs (_p1) == 1)
    8992              :     {
    8993            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8994            0 :                           {
    8995            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8996            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    8997            0 :                             if (res) return res;
    8998              :                           }
    8999              :                         }
    9000              :                       break;
    9001              :                     default:;
    9002              :                     }
    9003              :                   break;
    9004              :                 default:;
    9005              :                 }
    9006              :             }
    9007              :           break;
    9008            1 :         case CFN_BUILT_IN_SQRT:
    9009            1 :           if (call_expr_nargs (_p0) == 1)
    9010              :     {
    9011            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9012            1 :               switch (TREE_CODE (_p1))
    9013              :                 {
    9014            1 :                 case REAL_CST:
    9015            1 :                   {
    9016            1 :                     {
    9017            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9018            1 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9019            1 :                       if (res) return res;
    9020              :                     }
    9021            1 :                     break;
    9022              :                   }
    9023            0 :                 case CALL_EXPR:
    9024            0 :                   switch (get_call_combined_fn (_p1))
    9025              :                     {
    9026            0 :                     case CFN_BUILT_IN_SQRT:
    9027            0 :                       if (call_expr_nargs (_p1) == 1)
    9028              :     {
    9029            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9030            0 :                           {
    9031            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9032            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9033            0 :                             if (res) return res;
    9034              :                           }
    9035              :                         }
    9036              :                       break;
    9037              :                     default:;
    9038              :                     }
    9039              :                   break;
    9040              :                 default:;
    9041              :                 }
    9042              :             }
    9043              :           break;
    9044            0 :         case CFN_SQRT:
    9045            0 :           if (call_expr_nargs (_p0) == 1)
    9046              :     {
    9047            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9048            0 :               switch (TREE_CODE (_p1))
    9049              :                 {
    9050            0 :                 case REAL_CST:
    9051            0 :                   {
    9052            0 :                     {
    9053            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9054            0 :                       tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9055            0 :                       if (res) return res;
    9056              :                     }
    9057            0 :                     break;
    9058              :                   }
    9059            0 :                 case CALL_EXPR:
    9060            0 :                   switch (get_call_combined_fn (_p1))
    9061              :                     {
    9062            0 :                     case CFN_SQRT:
    9063            0 :                       if (call_expr_nargs (_p1) == 1)
    9064              :     {
    9065            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9066            0 :                           {
    9067            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9068            0 :                             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9069            0 :                             if (res) return res;
    9070              :                           }
    9071              :                         }
    9072              :                       break;
    9073              :                     default:;
    9074              :                     }
    9075              :                   break;
    9076              :                 default:;
    9077              :                 }
    9078              :             }
    9079              :           break;
    9080              :         default:;
    9081              :         }
    9082              :       break;
    9083      4669582 :     default:;
    9084              :     }
    9085      4669582 :   if (uniform_integer_cst_p (_p1))
    9086              :     {
    9087      1549446 :       {
    9088      1549446 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9089      1549446 :         tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GE_EXPR);
    9090      1549446 :         if (res) return res;
    9091              :       }
    9092              :     }
    9093      4373078 :   switch (TREE_CODE (_p0))
    9094              :     {
    9095       296796 :     CASE_CONVERT:
    9096       296796 :       {
    9097       296796 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9098       296796 :         switch (TREE_CODE (_q20))
    9099              :           {
    9100        31851 :           case PLUS_EXPR:
    9101        31851 :             {
    9102        31851 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9103        31851 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9104        31851 :               switch (TREE_CODE (_q30))
    9105              :                 {
    9106        23139 :                 CASE_CONVERT:
    9107        23139 :                   {
    9108        23139 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9109        23139 :                     switch (TREE_CODE (_q31))
    9110              :                       {
    9111        23138 :                       case INTEGER_CST:
    9112        23138 :                         {
    9113        23138 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9114              :                             {
    9115          132 :                               {
    9116          132 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9117          132 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9118          132 :                                 if (res) return res;
    9119              :                               }
    9120              :                             }
    9121              :                           break;
    9122              :                         }
    9123              :                       default:;
    9124              :                       }
    9125              :                     break;
    9126              :                   }
    9127              :                 default:;
    9128              :                 }
    9129              :               break;
    9130              :             }
    9131              :           default:;
    9132              :           }
    9133              :         break;
    9134              :       }
    9135      4373018 :     default:;
    9136              :     }
    9137      4373018 :   switch (TREE_CODE (_p1))
    9138              :     {
    9139       220525 :     CASE_CONVERT:
    9140       220525 :       {
    9141       220525 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9142       220525 :         switch (TREE_CODE (_q30))
    9143              :           {
    9144          266 :           case PLUS_EXPR:
    9145          266 :             {
    9146          266 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9147          266 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9148          266 :               switch (TREE_CODE (_q40))
    9149              :                 {
    9150          204 :                 CASE_CONVERT:
    9151          204 :                   {
    9152          204 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9153          204 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9154              :                       {
    9155            0 :                         switch (TREE_CODE (_q41))
    9156              :                           {
    9157            0 :                           case INTEGER_CST:
    9158            0 :                             {
    9159            0 :                               {
    9160            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9161            0 :                                 tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9162            0 :                                 if (res) return res;
    9163              :                               }
    9164            0 :                               break;
    9165              :                             }
    9166              :                           default:;
    9167              :                           }
    9168              :                       }
    9169              :                     break;
    9170              :                   }
    9171              :                 default:;
    9172              :                 }
    9173              :               break;
    9174              :             }
    9175              :           default:;
    9176              :           }
    9177              :         break;
    9178              :       }
    9179        58998 :     case PLUS_EXPR:
    9180        58998 :       {
    9181        58998 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9182        58998 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9183        58998 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9184              :           {
    9185            0 :             switch (TREE_CODE (_q31))
    9186              :               {
    9187            0 :               case INTEGER_CST:
    9188            0 :                 {
    9189            0 :                   {
    9190            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9191            0 :                     tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9192            0 :                     if (res) return res;
    9193              :                   }
    9194            0 :                   break;
    9195              :                 }
    9196              :               default:;
    9197              :               }
    9198              :           }
    9199              :         break;
    9200              :       }
    9201         2408 :     case MINUS_EXPR:
    9202         2408 :       {
    9203         2408 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9204         2408 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9205         2408 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9206              :           {
    9207            0 :             {
    9208            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9209            0 :               tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, LE_EXPR);
    9210            0 :               if (res) return res;
    9211              :             }
    9212              :           }
    9213              :         break;
    9214              :       }
    9215      4373018 :     default:;
    9216              :     }
    9217      4373018 :   switch (TREE_CODE (_p0))
    9218              :     {
    9219       587776 :     case PLUS_EXPR:
    9220       587776 :       {
    9221       587776 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9222       587776 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9223       587776 :         switch (TREE_CODE (_q20))
    9224              :           {
    9225          141 :           case MINUS_EXPR:
    9226          141 :             {
    9227          141 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9228          141 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9229          141 :               if (integer_minus_onep (_q21))
    9230              :                 {
    9231            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9232              :                     {
    9233            1 :                       {
    9234            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9235            1 :                         tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GE_EXPR);
    9236            1 :                         if (res) return res;
    9237              :                       }
    9238              :                     }
    9239              :                 }
    9240              :               break;
    9241              :             }
    9242              :           default:;
    9243              :           }
    9244              :         break;
    9245              :       }
    9246      4373017 :     default:;
    9247              :     }
    9248      4373017 :   switch (TREE_CODE (_p1))
    9249              :     {
    9250            0 :     case REALPART_EXPR:
    9251            0 :       {
    9252            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9253            0 :         switch (TREE_CODE (_q30))
    9254              :           {
    9255            0 :           case CALL_EXPR:
    9256            0 :             switch (get_call_combined_fn (_q30))
    9257              :               {
    9258            0 :               case CFN_SUB_OVERFLOW:
    9259            0 :                 if (call_expr_nargs (_q30) == 2)
    9260              :     {
    9261            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    9262            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    9263            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9264              :                       {
    9265            0 :                         {
    9266            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    9267            0 :                           tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    9268            0 :                           if (res) return res;
    9269              :                         }
    9270              :                       }
    9271              :                   }
    9272              :                 break;
    9273              :               default:;
    9274              :               }
    9275              :             break;
    9276              :           default:;
    9277              :           }
    9278              :         break;
    9279              :       }
    9280      4373017 :     default:;
    9281              :     }
    9282      4373017 :   switch (TREE_CODE (_p0))
    9283              :     {
    9284            0 :     case REALPART_EXPR:
    9285            0 :       {
    9286            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9287            0 :         switch (TREE_CODE (_q20))
    9288              :           {
    9289            0 :           case CALL_EXPR:
    9290            0 :             switch (get_call_combined_fn (_q20))
    9291              :               {
    9292            0 :               case CFN_ADD_OVERFLOW:
    9293            0 :                 if (call_expr_nargs (_q20) == 2)
    9294              :     {
    9295            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9296            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9297            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9298              :                       {
    9299            0 :                         {
    9300            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9301            0 :                           tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9302            0 :                           if (res) return res;
    9303              :                         }
    9304              :                       }
    9305            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9306              :                       {
    9307            0 :                         {
    9308            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    9309            0 :                           tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9310            0 :                           if (res) return res;
    9311              :                         }
    9312              :                       }
    9313              :                   }
    9314              :                 break;
    9315              :               default:;
    9316              :               }
    9317              :             break;
    9318              :           default:;
    9319              :           }
    9320              :         break;
    9321              :       }
    9322         1441 :     case TRUNC_DIV_EXPR:
    9323         1441 :       {
    9324         1441 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9325         1441 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9326         1441 :         if (integer_all_onesp (_q20))
    9327              :           {
    9328           33 :             {
    9329           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    9330           33 :               tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9331           33 :               if (res) return res;
    9332              :             }
    9333              :           }
    9334              :         break;
    9335              :       }
    9336        22077 :     case MULT_EXPR:
    9337        22077 :       {
    9338        22077 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9339        22077 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9340        22077 :         switch (TREE_CODE (_q21))
    9341              :           {
    9342          305 :           case REAL_CST:
    9343          305 :             {
    9344          305 :               switch (TREE_CODE (_p1))
    9345              :                 {
    9346           43 :                 case REAL_CST:
    9347           43 :                   {
    9348           43 :                     {
    9349           43 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9350           43 :                       tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9351           43 :                       if (res) return res;
    9352              :                     }
    9353           43 :                     break;
    9354              :                   }
    9355              :                 default:;
    9356              :                 }
    9357              :               break;
    9358              :             }
    9359              :           default:;
    9360              :           }
    9361              :         break;
    9362              :       }
    9363          151 :     case REAL_CST:
    9364          151 :       {
    9365          151 :         switch (TREE_CODE (_p1))
    9366              :           {
    9367            0 :           case CALL_EXPR:
    9368            0 :             switch (get_call_combined_fn (_p1))
    9369              :               {
    9370            0 :               case CFN_BUILT_IN_EXP:
    9371            0 :                 if (call_expr_nargs (_p1) == 1)
    9372              :     {
    9373            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9374            0 :                     {
    9375            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9376            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9377            0 :                       if (res) return res;
    9378              :                     }
    9379              :                   }
    9380              :                 break;
    9381            0 :               case CFN_BUILT_IN_LOG:
    9382            0 :                 if (call_expr_nargs (_p1) == 1)
    9383              :     {
    9384            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9385            0 :                     {
    9386            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9387            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9388            0 :                       if (res) return res;
    9389              :                     }
    9390              :                   }
    9391              :                 break;
    9392            0 :               case CFN_BUILT_IN_EXP10F:
    9393            0 :                 if (call_expr_nargs (_p1) == 1)
    9394              :     {
    9395            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9396            0 :                     {
    9397            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9398            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9399            0 :                       if (res) return res;
    9400              :                     }
    9401              :                   }
    9402              :                 break;
    9403            0 :               case CFN_BUILT_IN_EXP10L:
    9404            0 :                 if (call_expr_nargs (_p1) == 1)
    9405              :     {
    9406            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9407            0 :                     {
    9408            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9409            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9410            0 :                       if (res) return res;
    9411              :                     }
    9412              :                   }
    9413              :                 break;
    9414            0 :               case CFN_BUILT_IN_EXP2:
    9415            0 :                 if (call_expr_nargs (_p1) == 1)
    9416              :     {
    9417            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9418            0 :                     {
    9419            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9420            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9421            0 :                       if (res) return res;
    9422              :                     }
    9423              :                   }
    9424              :                 break;
    9425            0 :               case CFN_BUILT_IN_EXPF:
    9426            0 :                 if (call_expr_nargs (_p1) == 1)
    9427              :     {
    9428            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9429            0 :                     {
    9430            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9431            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9432            0 :                       if (res) return res;
    9433              :                     }
    9434              :                   }
    9435              :                 break;
    9436            0 :               case CFN_BUILT_IN_EXPL:
    9437            0 :                 if (call_expr_nargs (_p1) == 1)
    9438              :     {
    9439            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9440            0 :                     {
    9441            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9442            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9443            0 :                       if (res) return res;
    9444              :                     }
    9445              :                   }
    9446              :                 break;
    9447            0 :               case CFN_BUILT_IN_LOG2:
    9448            0 :                 if (call_expr_nargs (_p1) == 1)
    9449              :     {
    9450            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9451            0 :                     {
    9452            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9453            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9454            0 :                       if (res) return res;
    9455              :                     }
    9456              :                   }
    9457              :                 break;
    9458            0 :               case CFN_BUILT_IN_LOGF:
    9459            0 :                 if (call_expr_nargs (_p1) == 1)
    9460              :     {
    9461            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9462            0 :                     {
    9463            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9464            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9465            0 :                       if (res) return res;
    9466              :                     }
    9467              :                   }
    9468              :                 break;
    9469            0 :               case CFN_BUILT_IN_LOGL:
    9470            0 :                 if (call_expr_nargs (_p1) == 1)
    9471              :     {
    9472            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9473            0 :                     {
    9474            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9475            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9476            0 :                       if (res) return res;
    9477              :                     }
    9478              :                   }
    9479              :                 break;
    9480            0 :               case CFN_BUILT_IN_LOG10F:
    9481            0 :                 if (call_expr_nargs (_p1) == 1)
    9482              :     {
    9483            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9484            0 :                     {
    9485            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9486            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9487            0 :                       if (res) return res;
    9488              :                     }
    9489              :                   }
    9490              :                 break;
    9491            0 :               case CFN_BUILT_IN_LOG10L:
    9492            0 :                 if (call_expr_nargs (_p1) == 1)
    9493              :     {
    9494            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9495            0 :                     {
    9496            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9497            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9498            0 :                       if (res) return res;
    9499              :                     }
    9500              :                   }
    9501              :                 break;
    9502            0 :               case CFN_EXP:
    9503            0 :                 if (call_expr_nargs (_p1) == 1)
    9504              :     {
    9505            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9506            0 :                     {
    9507            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9508            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9509            0 :                       if (res) return res;
    9510              :                     }
    9511              :                   }
    9512              :                 break;
    9513            0 :               case CFN_LOG:
    9514            0 :                 if (call_expr_nargs (_p1) == 1)
    9515              :     {
    9516            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9517            0 :                     {
    9518            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9519            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9520            0 :                       if (res) return res;
    9521              :                     }
    9522              :                   }
    9523              :                 break;
    9524            0 :               case CFN_EXP2:
    9525            0 :                 if (call_expr_nargs (_p1) == 1)
    9526              :     {
    9527            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9528            0 :                     {
    9529            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9530            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9531            0 :                       if (res) return res;
    9532              :                     }
    9533              :                   }
    9534              :                 break;
    9535            0 :               case CFN_LOG2:
    9536            0 :                 if (call_expr_nargs (_p1) == 1)
    9537              :     {
    9538            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9539            0 :                     {
    9540            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9541            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9542            0 :                       if (res) return res;
    9543              :                     }
    9544              :                   }
    9545              :                 break;
    9546            0 :               case CFN_EXP10:
    9547            0 :                 if (call_expr_nargs (_p1) == 1)
    9548              :     {
    9549            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9550            0 :                     {
    9551            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9552            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9553            0 :                       if (res) return res;
    9554              :                     }
    9555              :                   }
    9556              :                 break;
    9557            0 :               case CFN_LOG10:
    9558            0 :                 if (call_expr_nargs (_p1) == 1)
    9559              :     {
    9560            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9561            0 :                     {
    9562            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9563            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9564            0 :                       if (res) return res;
    9565              :                     }
    9566              :                   }
    9567              :                 break;
    9568            0 :               case CFN_BUILT_IN_EXP10:
    9569            0 :                 if (call_expr_nargs (_p1) == 1)
    9570              :     {
    9571            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9572            0 :                     {
    9573            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9574            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9575            0 :                       if (res) return res;
    9576              :                     }
    9577              :                   }
    9578              :                 break;
    9579            0 :               case CFN_BUILT_IN_EXP2F:
    9580            0 :                 if (call_expr_nargs (_p1) == 1)
    9581              :     {
    9582            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9583            0 :                     {
    9584            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9585            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9586            0 :                       if (res) return res;
    9587              :                     }
    9588              :                   }
    9589              :                 break;
    9590            0 :               case CFN_BUILT_IN_EXP2L:
    9591            0 :                 if (call_expr_nargs (_p1) == 1)
    9592              :     {
    9593            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9594            0 :                     {
    9595            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9596            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9597            0 :                       if (res) return res;
    9598              :                     }
    9599              :                   }
    9600              :                 break;
    9601            0 :               case CFN_BUILT_IN_LOG10:
    9602            0 :                 if (call_expr_nargs (_p1) == 1)
    9603              :     {
    9604            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9605            0 :                     {
    9606            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9607            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9608            0 :                       if (res) return res;
    9609              :                     }
    9610              :                   }
    9611              :                 break;
    9612            0 :               case CFN_BUILT_IN_LOG2F:
    9613            0 :                 if (call_expr_nargs (_p1) == 1)
    9614              :     {
    9615            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9616            0 :                     {
    9617            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9618            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9619            0 :                       if (res) return res;
    9620              :                     }
    9621              :                   }
    9622              :                 break;
    9623            0 :               case CFN_BUILT_IN_LOG2L:
    9624            0 :                 if (call_expr_nargs (_p1) == 1)
    9625              :     {
    9626            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9627            0 :                     {
    9628            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9629            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9630            0 :                       if (res) return res;
    9631              :                     }
    9632              :                   }
    9633              :                 break;
    9634              :               default:;
    9635              :               }
    9636              :             break;
    9637              :           default:;
    9638              :           }
    9639              :         break;
    9640              :       }
    9641       587775 :     case PLUS_EXPR:
    9642       587775 :       {
    9643       587775 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9644       587775 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9645       587775 :         switch (TREE_CODE (_q21))
    9646              :           {
    9647       475326 :           case INTEGER_CST:
    9648       475326 :             {
    9649       475326 :               switch (TREE_CODE (_p1))
    9650              :                 {
    9651       116450 :                 case INTEGER_CST:
    9652       116450 :                   {
    9653       116450 :                     {
    9654       116450 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9655       116450 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
    9656       116450 :                       if (res) return res;
    9657              :                     }
    9658        56338 :                     break;
    9659              :                   }
    9660              :                 default:;
    9661              :                 }
    9662              :               break;
    9663              :             }
    9664              :           default:;
    9665              :           }
    9666              :         break;
    9667              :       }
    9668        58026 :     case MINUS_EXPR:
    9669        58026 :       {
    9670        58026 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9671        58026 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9672        58026 :         switch (TREE_CODE (_q21))
    9673              :           {
    9674            7 :           case INTEGER_CST:
    9675            7 :             {
    9676            7 :               switch (TREE_CODE (_p1))
    9677              :                 {
    9678            7 :                 case INTEGER_CST:
    9679            7 :                   {
    9680            7 :                     {
    9681            7 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9682            7 :                       tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR, LE_EXPR);
    9683            7 :                       if (res) return res;
    9684              :                     }
    9685            0 :                     break;
    9686              :                   }
    9687              :                 default:;
    9688              :                 }
    9689              :               break;
    9690              :             }
    9691        58019 :           default:;
    9692              :           }
    9693        58019 :         switch (TREE_CODE (_q20))
    9694              :           {
    9695         1584 :           case INTEGER_CST:
    9696         1584 :             {
    9697         1584 :               switch (TREE_CODE (_p1))
    9698              :                 {
    9699          547 :                 case INTEGER_CST:
    9700          547 :                   {
    9701          547 :                     {
    9702          547 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9703          547 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9704          547 :                       if (res) return res;
    9705              :                     }
    9706            0 :                     break;
    9707              :                   }
    9708              :                 default:;
    9709              :                 }
    9710              :               break;
    9711              :             }
    9712              :           default:;
    9713              :           }
    9714              :         break;
    9715              :       }
    9716       227389 :     case CALL_EXPR:
    9717       227389 :       switch (get_call_combined_fn (_p0))
    9718              :         {
    9719            1 :         case CFN_BUILT_IN_CTZ:
    9720            1 :           if (call_expr_nargs (_p0) == 1)
    9721              :     {
    9722            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9723            1 :               switch (TREE_CODE (_p1))
    9724              :                 {
    9725            1 :                 case INTEGER_CST:
    9726            1 :                   {
    9727            1 :                     {
    9728            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9729            1 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9730            1 :                       if (res) return res;
    9731              :                     }
    9732            0 :                     break;
    9733              :                   }
    9734              :                 default:;
    9735              :                 }
    9736              :             }
    9737              :           break;
    9738            1 :         case CFN_BUILT_IN_EXP:
    9739            1 :           if (call_expr_nargs (_p0) == 1)
    9740              :     {
    9741            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9742            1 :               switch (TREE_CODE (_p1))
    9743              :                 {
    9744            1 :                 case REAL_CST:
    9745            1 :                   {
    9746            1 :                     {
    9747            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9748            1 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9749            1 :                       if (res) return res;
    9750              :                     }
    9751            1 :                     break;
    9752              :                   }
    9753              :                 default:;
    9754              :                 }
    9755              :             }
    9756              :           break;
    9757            1 :         case CFN_BUILT_IN_LOG:
    9758            1 :           if (call_expr_nargs (_p0) == 1)
    9759              :     {
    9760            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9761            1 :               switch (TREE_CODE (_p1))
    9762              :                 {
    9763            0 :                 case REAL_CST:
    9764            0 :                   {
    9765            0 :                     {
    9766            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9767            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9768            0 :                       if (res) return res;
    9769              :                     }
    9770            0 :                     break;
    9771              :                   }
    9772              :                 default:;
    9773              :                 }
    9774              :             }
    9775              :           break;
    9776            0 :         case CFN_BUILT_IN_EXP10F:
    9777            0 :           if (call_expr_nargs (_p0) == 1)
    9778              :     {
    9779            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9780            0 :               switch (TREE_CODE (_p1))
    9781              :                 {
    9782            0 :                 case REAL_CST:
    9783            0 :                   {
    9784            0 :                     {
    9785            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9786            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9787            0 :                       if (res) return res;
    9788              :                     }
    9789            0 :                     break;
    9790              :                   }
    9791              :                 default:;
    9792              :                 }
    9793              :             }
    9794              :           break;
    9795            0 :         case CFN_BUILT_IN_EXP10L:
    9796            0 :           if (call_expr_nargs (_p0) == 1)
    9797              :     {
    9798            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9799            0 :               switch (TREE_CODE (_p1))
    9800              :                 {
    9801            0 :                 case REAL_CST:
    9802            0 :                   {
    9803            0 :                     {
    9804            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9805            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9806            0 :                       if (res) return res;
    9807              :                     }
    9808            0 :                     break;
    9809              :                   }
    9810              :                 default:;
    9811              :                 }
    9812              :             }
    9813              :           break;
    9814            0 :         case CFN_BUILT_IN_CTZL:
    9815            0 :           if (call_expr_nargs (_p0) == 1)
    9816              :     {
    9817            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9818            0 :               switch (TREE_CODE (_p1))
    9819              :                 {
    9820            0 :                 case INTEGER_CST:
    9821            0 :                   {
    9822            0 :                     {
    9823            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9824            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9825            0 :                       if (res) return res;
    9826              :                     }
    9827            0 :                     break;
    9828              :                   }
    9829              :                 default:;
    9830              :                 }
    9831              :             }
    9832              :           break;
    9833            0 :         case CFN_BUILT_IN_EXP2:
    9834            0 :           if (call_expr_nargs (_p0) == 1)
    9835              :     {
    9836            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9837            0 :               switch (TREE_CODE (_p1))
    9838              :                 {
    9839            0 :                 case REAL_CST:
    9840            0 :                   {
    9841            0 :                     {
    9842            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9843            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9844            0 :                       if (res) return res;
    9845              :                     }
    9846            0 :                     break;
    9847              :                   }
    9848              :                 default:;
    9849              :                 }
    9850              :             }
    9851              :           break;
    9852            0 :         case CFN_BUILT_IN_EXPF:
    9853            0 :           if (call_expr_nargs (_p0) == 1)
    9854              :     {
    9855            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9856            0 :               switch (TREE_CODE (_p1))
    9857              :                 {
    9858            0 :                 case REAL_CST:
    9859            0 :                   {
    9860            0 :                     {
    9861            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9862            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    9863            0 :                       if (res) return res;
    9864              :                     }
    9865            0 :                     break;
    9866              :                   }
    9867              :                 default:;
    9868              :                 }
    9869              :             }
    9870              :           break;
    9871            0 :         case CFN_BUILT_IN_EXPL:
    9872            0 :           if (call_expr_nargs (_p0) == 1)
    9873              :     {
    9874            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9875            0 :               switch (TREE_CODE (_p1))
    9876              :                 {
    9877            0 :                 case REAL_CST:
    9878            0 :                   {
    9879            0 :                     {
    9880            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9881            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    9882            0 :                       if (res) return res;
    9883              :                     }
    9884            0 :                     break;
    9885              :                   }
    9886              :                 default:;
    9887              :                 }
    9888              :             }
    9889              :           break;
    9890            0 :         case CFN_BUILT_IN_LOG2:
    9891            0 :           if (call_expr_nargs (_p0) == 1)
    9892              :     {
    9893            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9894            0 :               switch (TREE_CODE (_p1))
    9895              :                 {
    9896            0 :                 case REAL_CST:
    9897            0 :                   {
    9898            0 :                     {
    9899            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9900            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9901            0 :                       if (res) return res;
    9902              :                     }
    9903            0 :                     break;
    9904              :                   }
    9905              :                 default:;
    9906              :                 }
    9907              :             }
    9908              :           break;
    9909            0 :         case CFN_BUILT_IN_LOGF:
    9910            0 :           if (call_expr_nargs (_p0) == 1)
    9911              :     {
    9912            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9913            0 :               switch (TREE_CODE (_p1))
    9914              :                 {
    9915            0 :                 case REAL_CST:
    9916            0 :                   {
    9917            0 :                     {
    9918            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9919            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    9920            0 :                       if (res) return res;
    9921              :                     }
    9922            0 :                     break;
    9923              :                   }
    9924              :                 default:;
    9925              :                 }
    9926              :             }
    9927              :           break;
    9928            0 :         case CFN_BUILT_IN_LOGL:
    9929            0 :           if (call_expr_nargs (_p0) == 1)
    9930              :     {
    9931            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9932            0 :               switch (TREE_CODE (_p1))
    9933              :                 {
    9934            0 :                 case REAL_CST:
    9935            0 :                   {
    9936            0 :                     {
    9937            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9938            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    9939            0 :                       if (res) return res;
    9940              :                     }
    9941            0 :                     break;
    9942              :                   }
    9943              :                 default:;
    9944              :                 }
    9945              :             }
    9946              :           break;
    9947            0 :         case CFN_BUILT_IN_LOG10F:
    9948            0 :           if (call_expr_nargs (_p0) == 1)
    9949              :     {
    9950            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9951            0 :               switch (TREE_CODE (_p1))
    9952              :                 {
    9953            0 :                 case REAL_CST:
    9954            0 :                   {
    9955            0 :                     {
    9956            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9957            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9958            0 :                       if (res) return res;
    9959              :                     }
    9960            0 :                     break;
    9961              :                   }
    9962              :                 default:;
    9963              :                 }
    9964              :             }
    9965              :           break;
    9966            0 :         case CFN_BUILT_IN_LOG10L:
    9967            0 :           if (call_expr_nargs (_p0) == 1)
    9968              :     {
    9969            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9970            0 :               switch (TREE_CODE (_p1))
    9971              :                 {
    9972            0 :                 case REAL_CST:
    9973            0 :                   {
    9974            0 :                     {
    9975            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9976            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9977            0 :                       if (res) return res;
    9978              :                     }
    9979            0 :                     break;
    9980              :                   }
    9981              :                 default:;
    9982              :                 }
    9983              :             }
    9984              :           break;
    9985            0 :         case CFN_BUILT_IN_CTZIMAX:
    9986            0 :           if (call_expr_nargs (_p0) == 1)
    9987              :     {
    9988            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9989            0 :               switch (TREE_CODE (_p1))
    9990              :                 {
    9991            0 :                 case INTEGER_CST:
    9992            0 :                   {
    9993            0 :                     {
    9994            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9995            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
    9996            0 :                       if (res) return res;
    9997              :                     }
    9998            0 :                     break;
    9999              :                   }
   10000              :                 default:;
   10001              :                 }
   10002              :             }
   10003              :           break;
   10004            0 :         case CFN_CTZ:
   10005            0 :           if (call_expr_nargs (_p0) == 2)
   10006              :     {
   10007            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10008            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10009            0 :               switch (TREE_CODE (_p1))
   10010              :                 {
   10011            0 :                 case INTEGER_CST:
   10012            0 :                   {
   10013            0 :                     {
   10014            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10015            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10016            0 :                       if (res) return res;
   10017              :                     }
   10018            0 :                     break;
   10019              :                   }
   10020              :                 default:;
   10021              :                 }
   10022              :             }
   10023            0 :           if (call_expr_nargs (_p0) == 1)
   10024              :     {
   10025            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10026            0 :               switch (TREE_CODE (_p1))
   10027              :                 {
   10028            0 :                 case INTEGER_CST:
   10029            0 :                   {
   10030            0 :                     {
   10031            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10032            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
   10033            0 :                       if (res) return res;
   10034              :                     }
   10035            0 :                     break;
   10036              :                   }
   10037              :                 default:;
   10038              :                 }
   10039              :             }
   10040              :           break;
   10041            0 :         case CFN_EXP:
   10042            0 :           if (call_expr_nargs (_p0) == 1)
   10043              :     {
   10044            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10045            0 :               switch (TREE_CODE (_p1))
   10046              :                 {
   10047            0 :                 case REAL_CST:
   10048            0 :                   {
   10049            0 :                     {
   10050            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10051            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10052            0 :                       if (res) return res;
   10053              :                     }
   10054            0 :                     break;
   10055              :                   }
   10056              :                 default:;
   10057              :                 }
   10058              :             }
   10059              :           break;
   10060            0 :         case CFN_LOG:
   10061            0 :           if (call_expr_nargs (_p0) == 1)
   10062              :     {
   10063            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10064            0 :               switch (TREE_CODE (_p1))
   10065              :                 {
   10066            0 :                 case REAL_CST:
   10067            0 :                   {
   10068            0 :                     {
   10069            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10070            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10071            0 :                       if (res) return res;
   10072              :                     }
   10073            0 :                     break;
   10074              :                   }
   10075              :                 default:;
   10076              :                 }
   10077              :             }
   10078              :           break;
   10079            0 :         case CFN_EXP2:
   10080            0 :           if (call_expr_nargs (_p0) == 1)
   10081              :     {
   10082            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10083            0 :               switch (TREE_CODE (_p1))
   10084              :                 {
   10085            0 :                 case REAL_CST:
   10086            0 :                   {
   10087            0 :                     {
   10088            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10089            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10090            0 :                       if (res) return res;
   10091              :                     }
   10092            0 :                     break;
   10093              :                   }
   10094              :                 default:;
   10095              :                 }
   10096              :             }
   10097              :           break;
   10098            0 :         case CFN_LOG2:
   10099            0 :           if (call_expr_nargs (_p0) == 1)
   10100              :     {
   10101            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10102            0 :               switch (TREE_CODE (_p1))
   10103              :                 {
   10104            0 :                 case REAL_CST:
   10105            0 :                   {
   10106            0 :                     {
   10107            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10108            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10109            0 :                       if (res) return res;
   10110              :                     }
   10111            0 :                     break;
   10112              :                   }
   10113              :                 default:;
   10114              :                 }
   10115              :             }
   10116              :           break;
   10117            0 :         case CFN_EXP10:
   10118            0 :           if (call_expr_nargs (_p0) == 1)
   10119              :     {
   10120            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10121            0 :               switch (TREE_CODE (_p1))
   10122              :                 {
   10123            0 :                 case REAL_CST:
   10124            0 :                   {
   10125            0 :                     {
   10126            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10127            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10128            0 :                       if (res) return res;
   10129              :                     }
   10130            0 :                     break;
   10131              :                   }
   10132              :                 default:;
   10133              :                 }
   10134              :             }
   10135              :           break;
   10136            0 :         case CFN_BUILT_IN_CTZLL:
   10137            0 :           if (call_expr_nargs (_p0) == 1)
   10138              :     {
   10139            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10140            0 :               switch (TREE_CODE (_p1))
   10141              :                 {
   10142            0 :                 case INTEGER_CST:
   10143            0 :                   {
   10144            0 :                     {
   10145            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10146            0 :                       tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10147            0 :                       if (res) return res;
   10148              :                     }
   10149            0 :                     break;
   10150              :                   }
   10151              :                 default:;
   10152              :                 }
   10153              :             }
   10154              :           break;
   10155            0 :         case CFN_LOG10:
   10156            0 :           if (call_expr_nargs (_p0) == 1)
   10157              :     {
   10158            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10159            0 :               switch (TREE_CODE (_p1))
   10160              :                 {
   10161            0 :                 case REAL_CST:
   10162            0 :                   {
   10163            0 :                     {
   10164            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10165            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10166            0 :                       if (res) return res;
   10167              :                     }
   10168            0 :                     break;
   10169              :                   }
   10170              :                 default:;
   10171              :                 }
   10172              :             }
   10173              :           break;
   10174            0 :         case CFN_BUILT_IN_EXP10:
   10175            0 :           if (call_expr_nargs (_p0) == 1)
   10176              :     {
   10177            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10178            0 :               switch (TREE_CODE (_p1))
   10179              :                 {
   10180            0 :                 case REAL_CST:
   10181            0 :                   {
   10182            0 :                     {
   10183            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10184            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10185            0 :                       if (res) return res;
   10186              :                     }
   10187            0 :                     break;
   10188              :                   }
   10189              :                 default:;
   10190              :                 }
   10191              :             }
   10192              :           break;
   10193            0 :         case CFN_BUILT_IN_EXP2F:
   10194            0 :           if (call_expr_nargs (_p0) == 1)
   10195              :     {
   10196            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10197            0 :               switch (TREE_CODE (_p1))
   10198              :                 {
   10199            0 :                 case REAL_CST:
   10200            0 :                   {
   10201            0 :                     {
   10202            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10203            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10204            0 :                       if (res) return res;
   10205              :                     }
   10206            0 :                     break;
   10207              :                   }
   10208              :                 default:;
   10209              :                 }
   10210              :             }
   10211              :           break;
   10212            0 :         case CFN_BUILT_IN_EXP2L:
   10213            0 :           if (call_expr_nargs (_p0) == 1)
   10214              :     {
   10215            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10216            0 :               switch (TREE_CODE (_p1))
   10217              :                 {
   10218            0 :                 case REAL_CST:
   10219            0 :                   {
   10220            0 :                     {
   10221            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10222            0 :                       tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10223            0 :                       if (res) return res;
   10224              :                     }
   10225            0 :                     break;
   10226              :                   }
   10227              :                 default:;
   10228              :                 }
   10229              :             }
   10230              :           break;
   10231            0 :         case CFN_BUILT_IN_LOG10:
   10232            0 :           if (call_expr_nargs (_p0) == 1)
   10233              :     {
   10234            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10235            0 :               switch (TREE_CODE (_p1))
   10236              :                 {
   10237            0 :                 case REAL_CST:
   10238            0 :                   {
   10239            0 :                     {
   10240            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10241            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10242            0 :                       if (res) return res;
   10243              :                     }
   10244            0 :                     break;
   10245              :                   }
   10246              :                 default:;
   10247              :                 }
   10248              :             }
   10249              :           break;
   10250            0 :         case CFN_BUILT_IN_LOG2F:
   10251            0 :           if (call_expr_nargs (_p0) == 1)
   10252              :     {
   10253            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10254            0 :               switch (TREE_CODE (_p1))
   10255              :                 {
   10256            0 :                 case REAL_CST:
   10257            0 :                   {
   10258            0 :                     {
   10259            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10260            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10261            0 :                       if (res) return res;
   10262              :                     }
   10263            0 :                     break;
   10264              :                   }
   10265              :                 default:;
   10266              :                 }
   10267              :             }
   10268              :           break;
   10269            0 :         case CFN_BUILT_IN_LOG2L:
   10270            0 :           if (call_expr_nargs (_p0) == 1)
   10271              :     {
   10272            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10273            0 :               switch (TREE_CODE (_p1))
   10274              :                 {
   10275            0 :                 case REAL_CST:
   10276            0 :                   {
   10277            0 :                     {
   10278            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10279            0 :                       tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10280            0 :                       if (res) return res;
   10281              :                     }
   10282            0 :                     break;
   10283              :                   }
   10284              :                 default:;
   10285              :                 }
   10286              :             }
   10287              :           break;
   10288              :         default:;
   10289              :         }
   10290              :       break;
   10291              :     default:;
   10292              :     }
   10293              :   return NULL_TREE;
   10294              : }
   10295              : 
   10296              : tree
   10297         1891 : generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10298              : {
   10299         1891 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10300         1891 :   if (integer_all_onesp (_p0))
   10301              :     {
   10302            0 :       {
   10303            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10304            0 :         tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10305            0 :         if (res) return res;
   10306              :       }
   10307              :     }
   10308         1891 :   if (integer_zerop (_p1))
   10309              :     {
   10310            0 :       {
   10311            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10312            0 :         tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10313            0 :         if (res) return res;
   10314              :       }
   10315              :     }
   10316         1891 :   if (integer_zerop (_p0))
   10317              :     {
   10318            0 :       {
   10319            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10320            0 :         tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10321            0 :         if (res) return res;
   10322              :       }
   10323              :     }
   10324         1891 :   switch (TREE_CODE (_p1))
   10325              :     {
   10326            0 :     case VECTOR_CST:
   10327            0 :       {
   10328            0 :         {
   10329            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10330            0 :           tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10331            0 :           if (res) return res;
   10332              :         }
   10333            0 :         break;
   10334              :       }
   10335            0 :     case CONSTRUCTOR:
   10336            0 :       {
   10337            0 :         {
   10338            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10339            0 :           tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10340            0 :           if (res) return res;
   10341              :         }
   10342            0 :         break;
   10343              :       }
   10344         1238 :     case INTEGER_CST:
   10345         1238 :       {
   10346         1238 :         {
   10347         1238 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10348         1238 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1754;
   10349         1238 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1754;
   10350         1238 :           {
   10351         1238 :             tree res_op0;
   10352         1238 :             res_op0 = captures[0];
   10353         1238 :             tree res_op1;
   10354         1238 :             res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
   10355         1238 :  build_int_cst (TREE_TYPE (captures[1]),
   10356         1238 :  element_precision (type)), captures[1]);
   10357         1238 :             tree _r;
   10358         1238 :             _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
   10359         1238 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1031, __FILE__, __LINE__, true);
   10360         1238 :             return _r;
   10361              :           }
   10362            0 : next_after_fail1754:;
   10363              :         }
   10364            0 :         break;
   10365              :       }
   10366            0 :     case MINUS_EXPR:
   10367            0 :       {
   10368            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10369            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10370            0 :         switch (TREE_CODE (_q30))
   10371              :           {
   10372            0 :           case INTEGER_CST:
   10373            0 :             {
   10374            0 :               {
   10375            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10376            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR);
   10377            0 :                 if (res) return res;
   10378              :               }
   10379            0 :               break;
   10380              :             }
   10381              :           default:;
   10382              :           }
   10383              :         break;
   10384              :       }
   10385          653 :     default:;
   10386              :     }
   10387          653 :   switch (TREE_CODE (_p0))
   10388              :     {
   10389            0 :     case LROTATE_EXPR:
   10390            0 :       {
   10391            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10392            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10393            0 :         switch (TREE_CODE (_q21))
   10394              :           {
   10395            0 :           case INTEGER_CST:
   10396            0 :             {
   10397            0 :               switch (TREE_CODE (_p1))
   10398              :                 {
   10399            0 :                 case INTEGER_CST:
   10400            0 :                   {
   10401            0 :                     {
   10402            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10403            0 :                       tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10404            0 :                       if (res) return res;
   10405              :                     }
   10406            0 :                     break;
   10407              :                   }
   10408              :                 default:;
   10409              :                 }
   10410              :               break;
   10411              :             }
   10412              :           default:;
   10413              :           }
   10414              :         break;
   10415              :       }
   10416              :     default:;
   10417              :     }
   10418              :   return NULL_TREE;
   10419              : }
   10420              : 
   10421              : tree
   10422         2736 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10423              : {
   10424         2736 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10425         2736 :   if (integer_all_onesp (_p0))
   10426              :     {
   10427            0 :       {
   10428            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10429            0 :         tree res = generic_simplify_554 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10430            0 :         if (res) return res;
   10431              :       }
   10432              :     }
   10433         2736 :   if (integer_zerop (_p1))
   10434              :     {
   10435            1 :       {
   10436            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10437            1 :         tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10438            1 :         if (res) return res;
   10439              :       }
   10440              :     }
   10441         2735 :   if (integer_zerop (_p0))
   10442              :     {
   10443            0 :       {
   10444            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10445            0 :         tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10446            0 :         if (res) return res;
   10447              :       }
   10448              :     }
   10449         2735 :   switch (TREE_CODE (_p1))
   10450              :     {
   10451            0 :     case VECTOR_CST:
   10452            0 :       {
   10453            0 :         {
   10454            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10455            0 :           tree res = generic_simplify_421 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10456            0 :           if (res) return res;
   10457              :         }
   10458            0 :         break;
   10459              :       }
   10460            0 :     case CONSTRUCTOR:
   10461            0 :       {
   10462            0 :         {
   10463            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10464            0 :           tree res = generic_simplify_422 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10465            0 :           if (res) return res;
   10466              :         }
   10467            0 :         break;
   10468              :       }
   10469            0 :     case MINUS_EXPR:
   10470            0 :       {
   10471            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10472            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10473            0 :         switch (TREE_CODE (_q30))
   10474              :           {
   10475            0 :           case INTEGER_CST:
   10476            0 :             {
   10477            0 :               {
   10478            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10479            0 :                 tree res = generic_simplify_555 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   10480            0 :                 if (res) return res;
   10481              :               }
   10482            0 :               break;
   10483              :             }
   10484              :           default:;
   10485              :           }
   10486              :         break;
   10487              :       }
   10488         2735 :     default:;
   10489              :     }
   10490         2735 :   switch (TREE_CODE (_p0))
   10491              :     {
   10492            0 :     case RROTATE_EXPR:
   10493            0 :       {
   10494            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10495            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10496            0 :         switch (TREE_CODE (_q21))
   10497              :           {
   10498            0 :           case INTEGER_CST:
   10499            0 :             {
   10500            0 :               switch (TREE_CODE (_p1))
   10501              :                 {
   10502            0 :                 case INTEGER_CST:
   10503            0 :                   {
   10504            0 :                     {
   10505            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10506            0 :                       tree res = generic_simplify_423 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10507            0 :                       if (res) return res;
   10508              :                     }
   10509            0 :                     break;
   10510              :                   }
   10511              :                 default:;
   10512              :                 }
   10513              :               break;
   10514              :             }
   10515              :           default:;
   10516              :           }
   10517              :         break;
   10518              :       }
   10519              :     default:;
   10520              :     }
   10521              :   return NULL_TREE;
   10522              : }
   10523              : 
   10524              : tree
   10525       573915 : generic_simplify_COMPLEX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10526              : {
   10527       573915 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10528       573915 :   switch (TREE_CODE (_p0))
   10529              :     {
   10530           40 :     case REALPART_EXPR:
   10531           40 :       {
   10532           40 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10533           40 :         switch (TREE_CODE (_p1))
   10534              :           {
   10535           30 :           case IMAGPART_EXPR:
   10536           30 :             {
   10537           30 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10538           30 :               if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
   10539              :                 {
   10540           30 :                   {
   10541           30 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10542           30 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1755;
   10543           30 :                     {
   10544           30 :                       tree _r;
   10545           30 :                       _r = captures[0];
   10546           30 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   10547           30 :                       return _r;
   10548              :                     }
   10549            0 : next_after_fail1755:;
   10550              :                   }
   10551              :                 }
   10552              :               break;
   10553              :             }
   10554              :           default:;
   10555              :           }
   10556              :         break;
   10557              :       }
   10558              :     default:;
   10559              :     }
   10560              :   return NULL_TREE;
   10561              : }
   10562              : 
   10563              : tree
   10564       742052 : generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10565              : {
   10566       742052 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10567       742052 :   switch (TREE_CODE (_p0))
   10568              :     {
   10569            0 :     case VEC_COND_EXPR:
   10570            0 :       {
   10571            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10572            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10573            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10574            0 :         switch (TREE_CODE (_p1))
   10575              :           {
   10576            0 :           case VEC_COND_EXPR:
   10577            0 :             {
   10578            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10579            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10580            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10581            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10582              :                 {
   10583            0 :                   {
   10584            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10585            0 :                     if (VECTOR_TYPE_P (type)
   10586            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10587            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10588            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10589              :  || (optimize_vectors_before_lowering_p ()
   10590            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10591              : )
   10592              :                       {
   10593            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1756;
   10594            0 :                         {
   10595            0 :                           tree res_op0;
   10596            0 :                           res_op0 = captures[1];
   10597            0 :                           tree res_op1;
   10598            0 :                           {
   10599            0 :                             tree _o1[2], _r1;
   10600            0 :                             _o1[0] = captures[2];
   10601            0 :                             _o1[1] = captures[5];
   10602            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10603            0 :                             if (EXPR_P (_r1))
   10604            0 :                               goto next_after_fail1756;
   10605            0 :                             res_op1 = _r1;
   10606              :                           }
   10607            0 :                           tree res_op2;
   10608            0 :                           {
   10609            0 :                             tree _o1[2], _r1;
   10610            0 :                             _o1[0] = captures[3];
   10611            0 :                             _o1[1] = captures[6];
   10612            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10613            0 :                             if (EXPR_P (_r1))
   10614            0 :                               goto next_after_fail1756;
   10615            0 :                             res_op2 = _r1;
   10616              :                           }
   10617            0 :                           tree _r;
   10618            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10619            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10620            0 :                           return _r;
   10621              :                         }
   10622            0 : next_after_fail1756:;
   10623              :                       }
   10624              :                   }
   10625              :                 }
   10626              :               break;
   10627              :             }
   10628            0 :           default:;
   10629              :           }
   10630            0 :         {
   10631            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10632            0 :           if (VECTOR_TYPE_P (type)
   10633            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10634            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10635            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10636              :  || (optimize_vectors_before_lowering_p ()
   10637            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10638              : )
   10639              :             {
   10640            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1757;
   10641            0 :               {
   10642            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1757;
   10643            0 :                 tree res_op0;
   10644            0 :                 res_op0 = captures[1];
   10645            0 :                 tree res_op1;
   10646            0 :                 {
   10647            0 :                   tree _o1[2], _r1;
   10648            0 :                   _o1[0] = captures[2];
   10649            0 :                   _o1[1] = unshare_expr (captures[4]);
   10650            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10651            0 :                   if (EXPR_P (_r1))
   10652            0 :                     goto next_after_fail1757;
   10653            0 :                   res_op1 = _r1;
   10654              :                 }
   10655            0 :                 tree res_op2;
   10656            0 :                 {
   10657            0 :                   tree _o1[2], _r1;
   10658            0 :                   _o1[0] = captures[3];
   10659            0 :                   _o1[1] = captures[4];
   10660            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10661            0 :                   if (EXPR_P (_r1))
   10662            0 :                     goto next_after_fail1757;
   10663            0 :                   res_op2 = _r1;
   10664              :                 }
   10665            0 :                 tree _r;
   10666            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10667            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   10668            0 :                 return _r;
   10669              :               }
   10670            0 : next_after_fail1757:;
   10671              :             }
   10672              :         }
   10673            0 :         break;
   10674              :       }
   10675       742052 :     default:;
   10676              :     }
   10677       742052 :   switch (TREE_CODE (_p1))
   10678              :     {
   10679            0 :     case VEC_COND_EXPR:
   10680            0 :       {
   10681            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10682            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10683            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10684            0 :         {
   10685            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10686            0 :           if (VECTOR_TYPE_P (type)
   10687            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10688            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10689            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10690              :  || (optimize_vectors_before_lowering_p ()
   10691            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10692              : )
   10693              :             {
   10694            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1758;
   10695            0 :               {
   10696            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1758;
   10697            0 :                 tree res_op0;
   10698            0 :                 res_op0 = captures[2];
   10699            0 :                 tree res_op1;
   10700            0 :                 {
   10701            0 :                   tree _o1[2], _r1;
   10702            0 :                   _o1[0] = unshare_expr (captures[0]);
   10703            0 :                   _o1[1] = captures[3];
   10704            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10705            0 :                   if (EXPR_P (_r1))
   10706            0 :                     goto next_after_fail1758;
   10707            0 :                   res_op1 = _r1;
   10708              :                 }
   10709            0 :                 tree res_op2;
   10710            0 :                 {
   10711            0 :                   tree _o1[2], _r1;
   10712            0 :                   _o1[0] = captures[0];
   10713            0 :                   _o1[1] = captures[4];
   10714            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10715            0 :                   if (EXPR_P (_r1))
   10716            0 :                     goto next_after_fail1758;
   10717            0 :                   res_op2 = _r1;
   10718              :                 }
   10719            0 :                 tree _r;
   10720            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10721            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   10722            0 :                 return _r;
   10723              :               }
   10724            0 : next_after_fail1758:;
   10725              :             }
   10726              :         }
   10727            0 :         break;
   10728              :       }
   10729       742052 :     default:;
   10730              :     }
   10731       742052 :   switch (TREE_CODE (_p0))
   10732              :     {
   10733            0 :     case FLOAT_EXPR:
   10734            0 :       {
   10735            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10736            0 :         switch (TREE_CODE (_p1))
   10737              :           {
   10738            0 :           case FLOAT_EXPR:
   10739            0 :             {
   10740            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10741            0 :               {
   10742            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10743            0 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10744            0 :                 if (res) return res;
   10745              :               }
   10746            0 :               break;
   10747              :             }
   10748              :           default:;
   10749              :           }
   10750              :         break;
   10751              :       }
   10752           18 :     case NEGATE_EXPR:
   10753           18 :       {
   10754           18 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10755           18 :         switch (TREE_CODE (_p1))
   10756              :           {
   10757           18 :           case NEGATE_EXPR:
   10758           18 :             {
   10759           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10760           18 :               {
   10761           18 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10762           18 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10763           18 :                 if (res) return res;
   10764              :               }
   10765            0 :               break;
   10766              :             }
   10767            0 :           default:;
   10768              :           }
   10769            0 :       if (CONSTANT_CLASS_P (_p1))
   10770              :         {
   10771            0 :           {
   10772            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10773            0 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10774            0 :             if (res) return res;
   10775              :           }
   10776              :         }
   10777              :         break;
   10778              :       }
   10779       742034 :     default:;
   10780              :     }
   10781       742034 :   switch (TREE_CODE (_p1))
   10782              :     {
   10783          519 :     case REAL_CST:
   10784          519 :       {
   10785          519 :         {
   10786          519 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10787          519 :           tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   10788          519 :           if (res) return res;
   10789              :         }
   10790          519 :         break;
   10791              :       }
   10792       742034 :     default:;
   10793              :     }
   10794       742034 :   {
   10795       742034 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10796       742034 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   10797              : )
   10798              :       {
   10799            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1759;
   10800            0 :         {
   10801            0 :           tree _r;
   10802            0 :           _r =  constant_boolean_node (true, type);
   10803            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10804            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10805            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   10806            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10807            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
   10808            0 :           return _r;
   10809              :         }
   10810            0 : next_after_fail1759:;
   10811              :       }
   10812              :     else
   10813              :       {
   10814       742034 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   10815              : )
   10816              :           {
   10817           35 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1760;
   10818           35 :             {
   10819           35 :               tree _r;
   10820           35 :               _r =  constant_boolean_node (false, type);
   10821           35 :               if (TREE_SIDE_EFFECTS (captures[0]))
   10822            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10823           35 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10824            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10825           35 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
   10826           35 :               return _r;
   10827              :             }
   10828            0 : next_after_fail1760:;
   10829              :           }
   10830              :       }
   10831              :   }
   10832       741999 :   return NULL_TREE;
   10833              : }
   10834              : 
   10835              : tree
   10836       706748 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10837              : {
   10838       706748 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10839       706748 :   switch (TREE_CODE (_p0))
   10840              :     {
   10841            0 :     case VEC_COND_EXPR:
   10842            0 :       {
   10843            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10844            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10845            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10846            0 :         switch (TREE_CODE (_p1))
   10847              :           {
   10848            0 :           case VEC_COND_EXPR:
   10849            0 :             {
   10850            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10851            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10852            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10853            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10854              :                 {
   10855            0 :                   {
   10856            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10857            0 :                     if (VECTOR_TYPE_P (type)
   10858            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10859            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10860            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10861              :  || (optimize_vectors_before_lowering_p ()
   10862            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10863              : )
   10864              :                       {
   10865            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1766;
   10866            0 :                         {
   10867            0 :                           tree res_op0;
   10868            0 :                           res_op0 = captures[1];
   10869            0 :                           tree res_op1;
   10870            0 :                           {
   10871            0 :                             tree _o1[2], _r1;
   10872            0 :                             _o1[0] = captures[2];
   10873            0 :                             _o1[1] = captures[5];
   10874            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10875            0 :                             if (EXPR_P (_r1))
   10876            0 :                               goto next_after_fail1766;
   10877            0 :                             res_op1 = _r1;
   10878              :                           }
   10879            0 :                           tree res_op2;
   10880            0 :                           {
   10881            0 :                             tree _o1[2], _r1;
   10882            0 :                             _o1[0] = captures[3];
   10883            0 :                             _o1[1] = captures[6];
   10884            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10885            0 :                             if (EXPR_P (_r1))
   10886            0 :                               goto next_after_fail1766;
   10887            0 :                             res_op2 = _r1;
   10888              :                           }
   10889            0 :                           tree _r;
   10890            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10891            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   10892            0 :                           return _r;
   10893              :                         }
   10894            0 : next_after_fail1766:;
   10895              :                       }
   10896              :                   }
   10897              :                 }
   10898              :               break;
   10899              :             }
   10900            0 :           default:;
   10901              :           }
   10902            0 :         {
   10903            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10904            0 :           if (VECTOR_TYPE_P (type)
   10905            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10906            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10907            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10908              :  || (optimize_vectors_before_lowering_p ()
   10909            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10910              : )
   10911              :             {
   10912            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1767;
   10913            0 :               {
   10914            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1767;
   10915            0 :                 tree res_op0;
   10916            0 :                 res_op0 = captures[1];
   10917            0 :                 tree res_op1;
   10918            0 :                 {
   10919            0 :                   tree _o1[2], _r1;
   10920            0 :                   _o1[0] = captures[2];
   10921            0 :                   _o1[1] = unshare_expr (captures[4]);
   10922            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10923            0 :                   if (EXPR_P (_r1))
   10924            0 :                     goto next_after_fail1767;
   10925            0 :                   res_op1 = _r1;
   10926              :                 }
   10927            0 :                 tree res_op2;
   10928            0 :                 {
   10929            0 :                   tree _o1[2], _r1;
   10930            0 :                   _o1[0] = captures[3];
   10931            0 :                   _o1[1] = captures[4];
   10932            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10933            0 :                   if (EXPR_P (_r1))
   10934            0 :                     goto next_after_fail1767;
   10935            0 :                   res_op2 = _r1;
   10936              :                 }
   10937            0 :                 tree _r;
   10938            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10939            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   10940            0 :                 return _r;
   10941              :               }
   10942            0 : next_after_fail1767:;
   10943              :             }
   10944              :         }
   10945            0 :         break;
   10946              :       }
   10947       706748 :     default:;
   10948              :     }
   10949       706748 :   switch (TREE_CODE (_p1))
   10950              :     {
   10951            0 :     case VEC_COND_EXPR:
   10952            0 :       {
   10953            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10954            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10955            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10956            0 :         {
   10957            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10958            0 :           if (VECTOR_TYPE_P (type)
   10959            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10960            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10961            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10962              :  || (optimize_vectors_before_lowering_p ()
   10963            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10964              : )
   10965              :             {
   10966            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1768;
   10967            0 :               {
   10968            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1768;
   10969            0 :                 tree res_op0;
   10970            0 :                 res_op0 = captures[2];
   10971            0 :                 tree res_op1;
   10972            0 :                 {
   10973            0 :                   tree _o1[2], _r1;
   10974            0 :                   _o1[0] = unshare_expr (captures[0]);
   10975            0 :                   _o1[1] = captures[3];
   10976            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10977            0 :                   if (EXPR_P (_r1))
   10978            0 :                     goto next_after_fail1768;
   10979            0 :                   res_op1 = _r1;
   10980              :                 }
   10981            0 :                 tree res_op2;
   10982            0 :                 {
   10983            0 :                   tree _o1[2], _r1;
   10984            0 :                   _o1[0] = captures[0];
   10985            0 :                   _o1[1] = captures[4];
   10986            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10987            0 :                   if (EXPR_P (_r1))
   10988            0 :                     goto next_after_fail1768;
   10989            0 :                   res_op2 = _r1;
   10990              :                 }
   10991            0 :                 tree _r;
   10992            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10993            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   10994            0 :                 return _r;
   10995              :               }
   10996            0 : next_after_fail1768:;
   10997              :             }
   10998              :         }
   10999            0 :         break;
   11000              :       }
   11001       706748 :     default:;
   11002              :     }
   11003       706748 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11004              :     {
   11005            0 :       {
   11006            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11007            0 :         tree res = generic_simplify_562 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11008            0 :         if (res) return res;
   11009              :       }
   11010              :     }
   11011       706748 :   switch (TREE_CODE (_p0))
   11012              :     {
   11013          283 :     case FLOAT_EXPR:
   11014          283 :       {
   11015          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11016          283 :         switch (TREE_CODE (_p1))
   11017              :           {
   11018            0 :           case FLOAT_EXPR:
   11019            0 :             {
   11020            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11021            0 :               {
   11022            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11023            0 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   11024            0 :                 if (res) return res;
   11025              :               }
   11026            0 :               break;
   11027              :             }
   11028              :           default:;
   11029              :           }
   11030              :         break;
   11031              :       }
   11032            0 :     case NEGATE_EXPR:
   11033            0 :       {
   11034            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11035            0 :         switch (TREE_CODE (_p1))
   11036              :           {
   11037            0 :           case NEGATE_EXPR:
   11038            0 :             {
   11039            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11040            0 :               {
   11041            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11042            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11043            0 :                 if (res) return res;
   11044              :               }
   11045            0 :               break;
   11046              :             }
   11047            0 :           default:;
   11048              :           }
   11049            0 :       if (CONSTANT_CLASS_P (_p1))
   11050              :         {
   11051            0 :           {
   11052            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11053            0 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11054            0 :             if (res) return res;
   11055              :           }
   11056              :         }
   11057              :         break;
   11058              :       }
   11059       706748 :     default:;
   11060              :     }
   11061       706748 :   switch (TREE_CODE (_p1))
   11062              :     {
   11063       354800 :     case REAL_CST:
   11064       354800 :       {
   11065       354800 :         {
   11066       354800 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11067       354800 :           tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11068       354800 :           if (res) return res;
   11069              :         }
   11070       354798 :         break;
   11071              :       }
   11072              :     default:;
   11073              :     }
   11074              :   return NULL_TREE;
   11075              : }
   11076              : 
   11077              : tree
   11078           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)
   11079              : {
   11080           79 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11081           79 :   switch (TREE_CODE (_p0))
   11082              :     {
   11083            0 :     case VEC_COND_EXPR:
   11084            0 :       {
   11085            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11086            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11087            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11088            0 :         switch (TREE_CODE (_p1))
   11089              :           {
   11090            0 :           case VEC_COND_EXPR:
   11091            0 :             {
   11092            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11093            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11094            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11095            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11096              :                 {
   11097            0 :                   {
   11098            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11099            0 :                     if (VECTOR_TYPE_P (type)
   11100            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11101            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11102            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11103              :  || (optimize_vectors_before_lowering_p ()
   11104            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11105              : )
   11106              :                       {
   11107            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1781;
   11108            0 :                         {
   11109            0 :                           tree res_op0;
   11110            0 :                           res_op0 = captures[1];
   11111            0 :                           tree res_op1;
   11112            0 :                           {
   11113            0 :                             tree _o1[2], _r1;
   11114            0 :                             _o1[0] = captures[2];
   11115            0 :                             _o1[1] = captures[5];
   11116            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11117            0 :                             if (EXPR_P (_r1))
   11118            0 :                               goto next_after_fail1781;
   11119            0 :                             res_op1 = _r1;
   11120              :                           }
   11121            0 :                           tree res_op2;
   11122            0 :                           {
   11123            0 :                             tree _o1[2], _r1;
   11124            0 :                             _o1[0] = captures[3];
   11125            0 :                             _o1[1] = captures[6];
   11126            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11127            0 :                             if (EXPR_P (_r1))
   11128            0 :                               goto next_after_fail1781;
   11129            0 :                             res_op2 = _r1;
   11130              :                           }
   11131            0 :                           tree _r;
   11132            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11133            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
   11134            0 :                           return _r;
   11135              :                         }
   11136            0 : next_after_fail1781:;
   11137              :                       }
   11138              :                   }
   11139              :                 }
   11140              :               break;
   11141              :             }
   11142            0 :           default:;
   11143              :           }
   11144            0 :         {
   11145            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11146            0 :           if (VECTOR_TYPE_P (type)
   11147            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11148            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11149            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11150              :  || (optimize_vectors_before_lowering_p ()
   11151            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11152              : )
   11153              :             {
   11154            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1782;
   11155            0 :               {
   11156            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1782;
   11157            0 :                 tree res_op0;
   11158            0 :                 res_op0 = captures[1];
   11159            0 :                 tree res_op1;
   11160            0 :                 {
   11161            0 :                   tree _o1[2], _r1;
   11162            0 :                   _o1[0] = captures[2];
   11163            0 :                   _o1[1] = unshare_expr (captures[4]);
   11164            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11165            0 :                   if (EXPR_P (_r1))
   11166            0 :                     goto next_after_fail1782;
   11167            0 :                   res_op1 = _r1;
   11168              :                 }
   11169            0 :                 tree res_op2;
   11170            0 :                 {
   11171            0 :                   tree _o1[2], _r1;
   11172            0 :                   _o1[0] = captures[3];
   11173            0 :                   _o1[1] = captures[4];
   11174            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11175            0 :                   if (EXPR_P (_r1))
   11176            0 :                     goto next_after_fail1782;
   11177            0 :                   res_op2 = _r1;
   11178              :                 }
   11179            0 :                 tree _r;
   11180            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11181            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
   11182            0 :                 return _r;
   11183              :               }
   11184            0 : next_after_fail1782:;
   11185              :             }
   11186              :         }
   11187            0 :         break;
   11188              :       }
   11189           79 :     default:;
   11190              :     }
   11191           79 :   switch (TREE_CODE (_p1))
   11192              :     {
   11193            0 :     case VEC_COND_EXPR:
   11194            0 :       {
   11195            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11196            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11197            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11198            0 :         {
   11199            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11200            0 :           if (VECTOR_TYPE_P (type)
   11201            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11202            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11203            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11204              :  || (optimize_vectors_before_lowering_p ()
   11205            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11206              : )
   11207              :             {
   11208            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1783;
   11209            0 :               {
   11210            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1783;
   11211            0 :                 tree res_op0;
   11212            0 :                 res_op0 = captures[2];
   11213            0 :                 tree res_op1;
   11214            0 :                 {
   11215            0 :                   tree _o1[2], _r1;
   11216            0 :                   _o1[0] = unshare_expr (captures[0]);
   11217            0 :                   _o1[1] = captures[3];
   11218            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11219            0 :                   if (EXPR_P (_r1))
   11220            0 :                     goto next_after_fail1783;
   11221            0 :                   res_op1 = _r1;
   11222              :                 }
   11223            0 :                 tree res_op2;
   11224            0 :                 {
   11225            0 :                   tree _o1[2], _r1;
   11226            0 :                   _o1[0] = captures[0];
   11227            0 :                   _o1[1] = captures[4];
   11228            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11229            0 :                   if (EXPR_P (_r1))
   11230            0 :                     goto next_after_fail1783;
   11231            0 :                   res_op2 = _r1;
   11232              :                 }
   11233            0 :                 tree _r;
   11234            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11235            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
   11236            0 :                 return _r;
   11237              :               }
   11238            0 : next_after_fail1783:;
   11239              :             }
   11240              :         }
   11241            0 :         break;
   11242              :       }
   11243           79 :     default:;
   11244              :     }
   11245           79 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11246              :     {
   11247            2 :       {
   11248            2 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11249            2 :         if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
   11250              : )
   11251              :           {
   11252            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1784;
   11253            0 :             {
   11254            0 :               tree _r;
   11255            0 :               _r =  constant_boolean_node (false, type);
   11256            0 :               if (TREE_SIDE_EFFECTS (captures[0]))
   11257            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11258            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   11259            0 :               return _r;
   11260              :             }
   11261            0 : next_after_fail1784:;
   11262              :           }
   11263              :       }
   11264              :     }
   11265           79 :   switch (TREE_CODE (_p0))
   11266              :     {
   11267            0 :     case FLOAT_EXPR:
   11268            0 :       {
   11269            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11270            0 :         switch (TREE_CODE (_p1))
   11271              :           {
   11272            0 :           case FLOAT_EXPR:
   11273            0 :             {
   11274            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11275            0 :               {
   11276            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11277            0 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, LTGT_EXPR, NE_EXPR);
   11278            0 :                 if (res) return res;
   11279              :               }
   11280            0 :               break;
   11281              :             }
   11282              :           default:;
   11283              :           }
   11284              :         break;
   11285              :       }
   11286            0 :     case NEGATE_EXPR:
   11287            0 :       {
   11288            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11289            0 :         switch (TREE_CODE (_p1))
   11290              :           {
   11291            0 :           case NEGATE_EXPR:
   11292            0 :             {
   11293            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11294            0 :               {
   11295            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11296            0 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11297            0 :                 if (res) return res;
   11298              :               }
   11299            0 :               break;
   11300              :             }
   11301            0 :           default:;
   11302              :           }
   11303            0 :       if (CONSTANT_CLASS_P (_p1))
   11304              :         {
   11305            0 :           {
   11306            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11307            0 :             tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11308            0 :             if (res) return res;
   11309              :           }
   11310              :         }
   11311              :         break;
   11312              :       }
   11313           79 :     default:;
   11314              :     }
   11315           79 :   switch (TREE_CODE (_p1))
   11316              :     {
   11317            2 :     case REAL_CST:
   11318            2 :       {
   11319            2 :         {
   11320            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11321            2 :           tree res = generic_simplify_561 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   11322            2 :           if (res) return res;
   11323              :         }
   11324            2 :         break;
   11325              :       }
   11326              :     default:;
   11327              :     }
   11328              :   return NULL_TREE;
   11329              : }
   11330              : 
   11331              : tree
   11332       391960 : 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)
   11333              : {
   11334       391960 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11335       391960 :   switch (TREE_CODE (_p0))
   11336              :     {
   11337         1355 :     case NE_EXPR:
   11338         1355 :       {
   11339         1355 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11340         1355 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11341         1355 :         if (uniform_integer_cst_p (_q21))
   11342              :           {
   11343          431 :             switch (TREE_CODE (_p1))
   11344              :               {
   11345           35 :               case PLUS_EXPR:
   11346           35 :                 {
   11347           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11348           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   11349           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11350              :                     {
   11351           24 :                       if (uniform_integer_cst_p (_q51))
   11352              :                         {
   11353           24 :                           if (uniform_integer_cst_p (_p2))
   11354              :                             {
   11355           24 :                               {
   11356           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11357           24 :                                 {
   11358           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   11359           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   11360           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   11361           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   11362              : )
   11363              :                                       {
   11364           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1891;
   11365           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   11366           18 :                                         {
   11367           18 :                                           tree _r;
   11368           18 :                                           _r = captures[2];
   11369           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   11370            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11371           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   11372            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11373           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   11374           18 :                                           return _r;
   11375              :                                         }
   11376            6 : next_after_fail1891:;
   11377              :                                       }
   11378              :                                 }
   11379              :                               }
   11380              :                             }
   11381              :                         }
   11382              :                     }
   11383              :                   break;
   11384              :                 }
   11385              :               default:;
   11386              :               }
   11387              :           }
   11388              :         break;
   11389              :       }
   11390        16519 :     case VECTOR_CST:
   11391        16519 :       {
   11392        16519 :         {
   11393        16519 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11394        16519 :           if (integer_all_onesp (captures[0])
   11395              : )
   11396              :             {
   11397         3748 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   11398         3748 :               {
   11399         3748 :                 tree _r;
   11400         3748 :                 _r = captures[1];
   11401         3748 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11402            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11403         3748 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11404            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11405         3748 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1077, __FILE__, __LINE__, true);
   11406         3748 :                 return _r;
   11407              :               }
   11408            0 : next_after_fail1892:;
   11409              :             }
   11410              :           else
   11411              :             {
   11412        12771 :               if (integer_zerop (captures[0])
   11413              : )
   11414              :                 {
   11415         2003 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   11416         2003 :                   {
   11417         2003 :                     tree _r;
   11418         2003 :                     _r = captures[2];
   11419         2003 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11420            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11421         2003 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11422            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11423         2003 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   11424         2003 :                     return _r;
   11425              :                   }
   11426            0 : next_after_fail1893:;
   11427              :                 }
   11428              :             }
   11429              :         }
   11430        10768 :         break;
   11431              :       }
   11432       386191 :     default:;
   11433              :     }
   11434       386191 :   switch (TREE_CODE (_p1))
   11435              :     {
   11436       322808 :     case VECTOR_CST:
   11437       322808 :       {
   11438       322808 :         switch (TREE_CODE (_p2))
   11439              :           {
   11440       312847 :           case VECTOR_CST:
   11441       312847 :             {
   11442       312847 :               {
   11443       312847 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11444       312847 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11445       312985 :  && types_match (type, TREE_TYPE (captures[0]))
   11446              : )
   11447              :                   {
   11448          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   11449              : )
   11450              :                       {
   11451           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   11452           28 :                         {
   11453           28 :                           tree res_op0;
   11454           28 :                           res_op0 = captures[0];
   11455           28 :                           tree _r;
   11456           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   11457           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   11458            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11459           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   11460            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11461           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   11462           28 :                           return _r;
   11463              :                         }
   11464            0 : next_after_fail1894:;
   11465              :                       }
   11466              :                     else
   11467              :                       {
   11468          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   11469              : )
   11470              :                           {
   11471           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   11472           73 :                             {
   11473           73 :                               tree _r;
   11474           73 :                               _r = captures[0];
   11475           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   11476            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11477           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11478            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11479           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   11480           73 :                               return _r;
   11481              :                             }
   11482            0 : next_after_fail1895:;
   11483              :                           }
   11484              :                       }
   11485              :                   }
   11486              :               }
   11487       312746 :               break;
   11488              :             }
   11489              :           default:;
   11490              :           }
   11491              :         break;
   11492              :       }
   11493       386090 :     default:;
   11494              :     }
   11495       386090 :   switch (TREE_CODE (_p0))
   11496              :     {
   11497         1335 :     case NE_EXPR:
   11498         1335 :       {
   11499         1335 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11500         1335 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11501         1335 :         switch (TREE_CODE (_p1))
   11502              :           {
   11503            6 :           case MINUS_EXPR:
   11504            6 :             {
   11505            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11506            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11507            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11508              :                 {
   11509            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11510              :                     {
   11511            6 :                       if (integer_zerop (_p2))
   11512              :                         {
   11513            6 :                           {
   11514            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11515            6 :                             tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures);
   11516            6 :                             if (res) return res;
   11517              :                           }
   11518              :                         }
   11519              :                     }
   11520              :                 }
   11521            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11522              :                 {
   11523            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11524              :                     {
   11525            0 :                       if (integer_zerop (_p2))
   11526              :                         {
   11527            0 :                           {
   11528            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11529            0 :                             tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures);
   11530            0 :                             if (res) return res;
   11531              :                           }
   11532              :                         }
   11533              :                     }
   11534              :                 }
   11535              :               break;
   11536              :             }
   11537            6 :           case BIT_XOR_EXPR:
   11538            6 :             {
   11539            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11540            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11541            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11542              :                 {
   11543            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11544              :                     {
   11545            6 :                       if (integer_zerop (_p2))
   11546              :                         {
   11547            6 :                           {
   11548            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11549            6 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures);
   11550            6 :                             if (res) return res;
   11551              :                           }
   11552              :                         }
   11553              :                     }
   11554              :                 }
   11555            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11556              :                 {
   11557            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11558              :                     {
   11559            0 :                       if (integer_zerop (_p2))
   11560              :                         {
   11561            0 :                           {
   11562            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11563            0 :                             tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures);
   11564            0 :                             if (res) return res;
   11565              :                           }
   11566              :                         }
   11567              :                     }
   11568              :                 }
   11569              :               break;
   11570              :             }
   11571            6 :           case BIT_AND_EXPR:
   11572            6 :             {
   11573            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11574            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11575            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11576              :                 {
   11577            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11578              :                     {
   11579            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11580              :                         {
   11581            6 :                           {
   11582            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11583            6 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11584            6 :                             if (res) return res;
   11585              :                           }
   11586              :                         }
   11587            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11588              :                         {
   11589            0 :                           {
   11590            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11591            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11592            0 :                             if (res) return res;
   11593              :                           }
   11594              :                         }
   11595              :                     }
   11596              :                 }
   11597            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11598              :                 {
   11599            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11600              :                     {
   11601            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11602              :                         {
   11603            0 :                           {
   11604            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11605            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11606            0 :                             if (res) return res;
   11607              :                           }
   11608              :                         }
   11609            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11610              :                         {
   11611            0 :                           {
   11612            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11613            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11614            0 :                             if (res) return res;
   11615              :                           }
   11616              :                         }
   11617              :                     }
   11618              :                 }
   11619              :               break;
   11620              :             }
   11621            6 :           case BIT_IOR_EXPR:
   11622            6 :             {
   11623            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11624            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11625            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11626              :                 {
   11627            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11628              :                     {
   11629            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11630              :                         {
   11631            6 :                           {
   11632            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11633            6 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11634            6 :                             if (res) return res;
   11635              :                           }
   11636              :                         }
   11637            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11638              :                         {
   11639            0 :                           {
   11640            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11641            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11642            0 :                             if (res) return res;
   11643              :                           }
   11644              :                         }
   11645              :                     }
   11646              :                 }
   11647            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11648              :                 {
   11649            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11650              :                     {
   11651            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11652              :                         {
   11653            0 :                           {
   11654            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11655            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11656            0 :                             if (res) return res;
   11657              :                           }
   11658              :                         }
   11659            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11660              :                         {
   11661            0 :                           {
   11662            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11663            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11664            0 :                             if (res) return res;
   11665              :                           }
   11666              :                         }
   11667              :                     }
   11668              :                 }
   11669              :               break;
   11670              :             }
   11671            0 :           case MIN_EXPR:
   11672            0 :             {
   11673            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11674            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11675            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11676              :                 {
   11677            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11678              :                     {
   11679            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11680              :                         {
   11681            0 :                           {
   11682            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11683            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11684            0 :                             if (res) return res;
   11685              :                           }
   11686              :                         }
   11687            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11688              :                         {
   11689            0 :                           {
   11690            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11691            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11692            0 :                             if (res) return res;
   11693              :                           }
   11694              :                         }
   11695              :                     }
   11696              :                 }
   11697            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11698              :                 {
   11699            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11700              :                     {
   11701            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11702              :                         {
   11703            0 :                           {
   11704            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11705            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11706            0 :                             if (res) return res;
   11707              :                           }
   11708              :                         }
   11709            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11710              :                         {
   11711            0 :                           {
   11712            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11713            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11714            0 :                             if (res) return res;
   11715              :                           }
   11716              :                         }
   11717              :                     }
   11718              :                 }
   11719              :               break;
   11720              :             }
   11721            0 :           case MAX_EXPR:
   11722            0 :             {
   11723            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11724            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11725            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11726              :                 {
   11727            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11728              :                     {
   11729            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11730              :                         {
   11731            0 :                           {
   11732            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11733            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11734            0 :                             if (res) return res;
   11735              :                           }
   11736              :                         }
   11737            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11738              :                         {
   11739            0 :                           {
   11740            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11741            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11742            0 :                             if (res) return res;
   11743              :                           }
   11744              :                         }
   11745              :                     }
   11746              :                 }
   11747            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11748              :                 {
   11749            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11750              :                     {
   11751            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11752              :                         {
   11753            0 :                           {
   11754            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11755            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11756            0 :                             if (res) return res;
   11757              :                           }
   11758              :                         }
   11759            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11760              :                         {
   11761            0 :                           {
   11762            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11763            0 :                             tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11764            0 :                             if (res) return res;
   11765              :                           }
   11766              :                         }
   11767              :                     }
   11768              :                 }
   11769              :               break;
   11770              :             }
   11771            6 :           case MULT_EXPR:
   11772            6 :             {
   11773            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11774            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11775            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11776              :                 {
   11777            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11778              :                     {
   11779            6 :                       switch (TREE_CODE (_p2))
   11780              :                         {
   11781            6 :                         case MULT_EXPR:
   11782            6 :                           {
   11783            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11784            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11785            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11786              :                               {
   11787            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11788              :                                   {
   11789            6 :                                     {
   11790            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11791            6 :                                       const enum tree_code op = MULT_EXPR;
   11792            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11793              : )
   11794              :                                         {
   11795            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1896;
   11796            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   11797            6 :                                           {
   11798            6 :                                             tree _r;
   11799            6 :                                             _r = captures[2];
   11800            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   11801            6 :                                             return _r;
   11802              :                                           }
   11803            0 : next_after_fail1896:;
   11804              :                                         }
   11805              :                                     }
   11806              :                                   }
   11807              :                               }
   11808              :                             break;
   11809              :                           }
   11810              :                         default:;
   11811              :                         }
   11812              :                     }
   11813              :                 }
   11814            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11815              :                 {
   11816            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11817              :                     {
   11818            0 :                       switch (TREE_CODE (_p2))
   11819              :                         {
   11820            0 :                         case MULT_EXPR:
   11821            0 :                           {
   11822            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11823            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11824            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11825              :                               {
   11826            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11827              :                                   {
   11828            0 :                                     {
   11829            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11830            0 :                                       const enum tree_code op = MULT_EXPR;
   11831            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11832              : )
   11833              :                                         {
   11834            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1897;
   11835            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   11836            0 :                                           {
   11837            0 :                                             tree _r;
   11838            0 :                                             _r = captures[2];
   11839            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   11840            0 :                                             return _r;
   11841              :                                           }
   11842            0 : next_after_fail1897:;
   11843              :                                         }
   11844              :                                     }
   11845              :                                   }
   11846              :                               }
   11847              :                             break;
   11848              :                           }
   11849              :                         default:;
   11850              :                         }
   11851              :                     }
   11852              :                 }
   11853              :               break;
   11854              :             }
   11855           35 :           case PLUS_EXPR:
   11856           35 :             {
   11857           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11858           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11859           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11860              :                 {
   11861           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11862              :                     {
   11863           12 :                       switch (TREE_CODE (_p2))
   11864              :                         {
   11865            6 :                         case PLUS_EXPR:
   11866            6 :                           {
   11867            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11868            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11869            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11870              :                               {
   11871            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11872              :                                   {
   11873            6 :                                     {
   11874            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11875            6 :                                       const enum tree_code op = PLUS_EXPR;
   11876            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11877              : )
   11878              :                                         {
   11879            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1898;
   11880            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   11881            6 :                                           {
   11882            6 :                                             tree _r;
   11883            6 :                                             _r = captures[2];
   11884            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   11885            6 :                                             return _r;
   11886              :                                           }
   11887            0 : next_after_fail1898:;
   11888              :                                         }
   11889              :                                     }
   11890              :                                   }
   11891              :                               }
   11892              :                             break;
   11893              :                           }
   11894            6 :                         case MULT_EXPR:
   11895            6 :                           {
   11896            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11897            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11898            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11899              :                               {
   11900            6 :                                 if (uniform_integer_cst_p (_q81))
   11901              :                                   {
   11902            6 :                                     {
   11903            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11904            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11905              : )
   11906              :                                         {
   11907            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1899;
   11908            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   11909            6 :                                           {
   11910            6 :                                             tree _r;
   11911            6 :                                             _r = captures[2];
   11912            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11913            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11914            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   11915            6 :                                             return _r;
   11916              :                                           }
   11917            0 : next_after_fail1899:;
   11918              :                                         }
   11919              :                                     }
   11920              :                                   }
   11921              :                               }
   11922            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11923              :                               {
   11924            0 :                                 if (uniform_integer_cst_p (_q81))
   11925              :                                   {
   11926            0 :                                     {
   11927            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11928            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11929              : )
   11930              :                                         {
   11931            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1900;
   11932            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   11933            0 :                                           {
   11934            0 :                                             tree _r;
   11935            0 :                                             _r = captures[2];
   11936            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11937            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11938            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   11939            0 :                                             return _r;
   11940              :                                           }
   11941            0 : next_after_fail1900:;
   11942              :                                         }
   11943              :                                     }
   11944              :                                   }
   11945              :                               }
   11946              :                             break;
   11947              :                           }
   11948              :                         default:;
   11949              :                         }
   11950              :                     }
   11951              :                 }
   11952           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11953              :                 {
   11954            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11955              :                     {
   11956            0 :                       switch (TREE_CODE (_p2))
   11957              :                         {
   11958            0 :                         case PLUS_EXPR:
   11959            0 :                           {
   11960            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11961            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11962            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11963              :                               {
   11964            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11965              :                                   {
   11966            0 :                                     {
   11967            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11968            0 :                                       const enum tree_code op = PLUS_EXPR;
   11969            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11970              : )
   11971              :                                         {
   11972            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1901;
   11973            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   11974            0 :                                           {
   11975            0 :                                             tree _r;
   11976            0 :                                             _r = captures[2];
   11977            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
   11978            0 :                                             return _r;
   11979              :                                           }
   11980            0 : next_after_fail1901:;
   11981              :                                         }
   11982              :                                     }
   11983              :                                   }
   11984              :                               }
   11985              :                             break;
   11986              :                           }
   11987            0 :                         case MULT_EXPR:
   11988            0 :                           {
   11989            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11990            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11991            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11992              :                               {
   11993            0 :                                 if (uniform_integer_cst_p (_q81))
   11994              :                                   {
   11995            0 :                                     {
   11996            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11997            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11998              : )
   11999              :                                         {
   12000            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1902;
   12001            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   12002            0 :                                           {
   12003            0 :                                             tree _r;
   12004            0 :                                             _r = captures[2];
   12005            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12006            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12007            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12008            0 :                                             return _r;
   12009              :                                           }
   12010            0 : next_after_fail1902:;
   12011              :                                         }
   12012              :                                     }
   12013              :                                   }
   12014              :                               }
   12015            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12016              :                               {
   12017            0 :                                 if (uniform_integer_cst_p (_q81))
   12018              :                                   {
   12019            0 :                                     {
   12020            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   12021            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12022              : )
   12023              :                                         {
   12024            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   12025            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   12026            0 :                                           {
   12027            0 :                                             tree _r;
   12028            0 :                                             _r = captures[2];
   12029            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12030            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12031            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12032            0 :                                             return _r;
   12033              :                                           }
   12034            0 : next_after_fail1903:;
   12035              :                                         }
   12036              :                                     }
   12037              :                                   }
   12038              :                               }
   12039              :                             break;
   12040              :                           }
   12041              :                         default:;
   12042              :                         }
   12043              :                     }
   12044              :                 }
   12045              :               break;
   12046              :             }
   12047              :           default:;
   12048              :           }
   12049              :         break;
   12050              :       }
   12051       386048 :     default:;
   12052              :     }
   12053       386048 :   switch (TREE_CODE (_p1))
   12054              :     {
   12055            6 :     case VEC_COND_EXPR:
   12056            6 :       {
   12057            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12058            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12059            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12060            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12061              :           {
   12062            0 :             {
   12063            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   12064            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   12065            0 :               {
   12066            0 :                 tree res_op0;
   12067            0 :                 res_op0 = captures[0];
   12068            0 :                 tree res_op1;
   12069            0 :                 res_op1 = captures[1];
   12070            0 :                 tree res_op2;
   12071            0 :                 res_op2 = captures[3];
   12072            0 :                 tree _r;
   12073            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12074            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12075            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12076            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   12077            0 :                 return _r;
   12078              :               }
   12079            0 : next_after_fail1904:;
   12080              :             }
   12081              :           }
   12082              :         break;
   12083              :       }
   12084       386048 :     default:;
   12085              :     }
   12086       386048 :   switch (TREE_CODE (_p2))
   12087              :     {
   12088            3 :     case VEC_COND_EXPR:
   12089            3 :       {
   12090            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   12091            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   12092            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   12093            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12094              :           {
   12095            0 :             {
   12096            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   12097            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   12098            0 :               {
   12099            0 :                 tree res_op0;
   12100            0 :                 res_op0 = captures[0];
   12101            0 :                 tree res_op1;
   12102            0 :                 res_op1 = captures[1];
   12103            0 :                 tree res_op2;
   12104            0 :                 res_op2 = captures[3];
   12105            0 :                 tree _r;
   12106            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12107            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12108            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12109            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
   12110            0 :                 return _r;
   12111              :               }
   12112            0 : next_after_fail1905:;
   12113              :             }
   12114              :           }
   12115            3 :         {
   12116            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   12117            3 :           if (inverse_conditions_p (captures[0], captures[2])
   12118              : )
   12119              :             {
   12120            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   12121            0 :               {
   12122            0 :                 tree res_op0;
   12123            0 :                 res_op0 = captures[0];
   12124            0 :                 tree res_op1;
   12125            0 :                 res_op1 = captures[1];
   12126            0 :                 tree res_op2;
   12127            0 :                 res_op2 = captures[3];
   12128            0 :                 tree _r;
   12129            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12130            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12131            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12132            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   12133            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   12134            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12135            0 :                 return _r;
   12136              :               }
   12137            0 : next_after_fail1906:;
   12138              :             }
   12139              :         }
   12140            3 :         break;
   12141              :       }
   12142       386048 :     default:;
   12143              :     }
   12144       386048 :   switch (TREE_CODE (_p1))
   12145              :     {
   12146            6 :     case VEC_COND_EXPR:
   12147            6 :       {
   12148            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12149            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12150            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12151            6 :         {
   12152            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   12153            6 :           if (inverse_conditions_p (captures[0], captures[1])
   12154              : )
   12155              :             {
   12156            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   12157            0 :               {
   12158            0 :                 tree res_op0;
   12159            0 :                 res_op0 = captures[0];
   12160            0 :                 tree res_op1;
   12161            0 :                 res_op1 = captures[3];
   12162            0 :                 tree res_op2;
   12163            0 :                 res_op2 = captures[4];
   12164            0 :                 tree _r;
   12165            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12166            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   12167            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12168            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12169            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12170            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12171            0 :                 return _r;
   12172              :               }
   12173            0 : next_after_fail1907:;
   12174              :             }
   12175              :         }
   12176            6 :         break;
   12177              :       }
   12178       386048 :     default:;
   12179              :     }
   12180       386048 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   12181              :     {
   12182           33 :       {
   12183           33 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12184           33 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   12185           33 :         {
   12186           33 :           tree _r;
   12187           33 :           _r = captures[1];
   12188           33 :           if (TREE_SIDE_EFFECTS (captures[0]))
   12189            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12190           33 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   12191           33 :           return _r;
   12192              :         }
   12193            0 : next_after_fail1908:;
   12194              :       }
   12195              :     }
   12196       386015 :   switch (TREE_CODE (_p0))
   12197              :     {
   12198        67129 :     case EQ_EXPR:
   12199        67129 :       {
   12200        67129 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12201        67129 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12202        67129 :         if (zerop (_q21))
   12203              :           {
   12204         1087 :             switch (TREE_CODE (_p2))
   12205              :               {
   12206            0 :               case NEGATE_EXPR:
   12207            0 :                 {
   12208            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12209            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12210              :                     {
   12211            0 :                       {
   12212            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12213            0 :                         const enum tree_code cmp = EQ_EXPR;
   12214            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12215            0 :  && bitwise_equal_p (captures[0], captures[1])
   12216              : )
   12217              :                           {
   12218            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   12219            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1909;
   12220            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   12221            0 :                             {
   12222            0 :                               tree _r;
   12223            0 :                               _r = captures[2];
   12224            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   12225            0 :                               return _r;
   12226              :                             }
   12227            0 : next_after_fail1909:;
   12228              :                           }
   12229              :                       }
   12230              :                     }
   12231              :                   break;
   12232              :                 }
   12233         1087 :               default:;
   12234              :               }
   12235         1087 :             if (zerop (_p1))
   12236              :               {
   12237           18 :                 switch (TREE_CODE (_p2))
   12238              :                   {
   12239            0 :                   case NEGATE_EXPR:
   12240            0 :                     {
   12241            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12242            0 :                       {
   12243            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12244            0 :                         const enum tree_code cmp = EQ_EXPR;
   12245            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12246            0 :  && bitwise_equal_p (captures[0], captures[2])
   12247              : )
   12248              :                           {
   12249            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   12250            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1910;
   12251            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1910;
   12252            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   12253            0 :                             {
   12254            0 :                               tree _r;
   12255            0 :                               _r = captures[1];
   12256            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   12257            0 :                               return _r;
   12258              :                             }
   12259            0 : next_after_fail1910:;
   12260              :                           }
   12261              :                       }
   12262            0 :                       break;
   12263              :                     }
   12264              :                   default:;
   12265              :                   }
   12266              :               }
   12267              :           }
   12268        67129 :         switch (TREE_CODE (_q20))
   12269              :           {
   12270            0 :           case MINUS_EXPR:
   12271            0 :             {
   12272            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12273            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12274            0 :               if (zerop (_q21))
   12275              :                 {
   12276            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12277              :                     {
   12278            0 :                       switch (TREE_CODE (_p2))
   12279              :                         {
   12280            0 :                         case MINUS_EXPR:
   12281            0 :                           {
   12282            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12283            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12284            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12285              :                               {
   12286            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12287              :                                   {
   12288            0 :                                     {
   12289            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12290            0 :                                       const enum tree_code cmp = EQ_EXPR;
   12291            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12292              : )
   12293              :                                         {
   12294            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   12295            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1911;
   12296            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   12297            0 :                                           {
   12298            0 :                                             tree _r;
   12299            0 :                                             _r = captures[3];
   12300            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   12301            0 :                                             return _r;
   12302              :                                           }
   12303            0 : next_after_fail1911:;
   12304              :                                         }
   12305              :                                     }
   12306              :                                   }
   12307              :                               }
   12308              :                             break;
   12309              :                           }
   12310              :                         default:;
   12311              :                         }
   12312              :                     }
   12313              :                 }
   12314            0 :               if (integer_zerop (_q21))
   12315              :                 {
   12316            0 :                   if (integer_zerop (_p1))
   12317              :                     {
   12318            0 :                       switch (TREE_CODE (_p2))
   12319              :                         {
   12320            0 :                         case MINUS_EXPR:
   12321            0 :                           {
   12322            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12323            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12324            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12325              :                               {
   12326            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12327              :                                   {
   12328            0 :                                     {
   12329            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12330            0 :                                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   12331            0 :                                       if (res) return res;
   12332              :                                     }
   12333              :                                   }
   12334              :                               }
   12335              :                             break;
   12336              :                           }
   12337              :                         default:;
   12338              :                         }
   12339              :                     }
   12340              :                 }
   12341              :               break;
   12342              :             }
   12343              :           default:;
   12344              :           }
   12345              :         break;
   12346              :       }
   12347            0 :     case UNEQ_EXPR:
   12348            0 :       {
   12349            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12350            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12351            0 :         if (zerop (_q21))
   12352              :           {
   12353            0 :             switch (TREE_CODE (_p2))
   12354              :               {
   12355            0 :               case NEGATE_EXPR:
   12356            0 :                 {
   12357            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12358            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12359              :                     {
   12360            0 :                       {
   12361            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12362            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12363            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12364            0 :  && bitwise_equal_p (captures[0], captures[1])
   12365              : )
   12366              :                           {
   12367            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   12368            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1912;
   12369            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   12370            0 :                             {
   12371            0 :                               tree _r;
   12372            0 :                               _r = captures[2];
   12373            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   12374            0 :                               return _r;
   12375              :                             }
   12376            0 : next_after_fail1912:;
   12377              :                           }
   12378              :                       }
   12379              :                     }
   12380              :                   break;
   12381              :                 }
   12382            0 :               default:;
   12383              :               }
   12384            0 :             if (zerop (_p1))
   12385              :               {
   12386            0 :                 switch (TREE_CODE (_p2))
   12387              :                   {
   12388            0 :                   case NEGATE_EXPR:
   12389            0 :                     {
   12390            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12391            0 :                       {
   12392            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12393            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12394            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12395            0 :  && bitwise_equal_p (captures[0], captures[2])
   12396              : )
   12397              :                           {
   12398            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   12399            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1913;
   12400            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1913;
   12401            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   12402            0 :                             {
   12403            0 :                               tree _r;
   12404            0 :                               _r = captures[1];
   12405            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   12406            0 :                               return _r;
   12407              :                             }
   12408            0 : next_after_fail1913:;
   12409              :                           }
   12410              :                       }
   12411            0 :                       break;
   12412              :                     }
   12413              :                   default:;
   12414              :                   }
   12415              :               }
   12416              :           }
   12417            0 :         switch (TREE_CODE (_q20))
   12418              :           {
   12419            0 :           case MINUS_EXPR:
   12420            0 :             {
   12421            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12422            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12423            0 :               if (zerop (_q21))
   12424              :                 {
   12425            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12426              :                     {
   12427            0 :                       switch (TREE_CODE (_p2))
   12428              :                         {
   12429            0 :                         case MINUS_EXPR:
   12430            0 :                           {
   12431            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12432            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12433            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12434              :                               {
   12435            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12436              :                                   {
   12437            0 :                                     {
   12438            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12439            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   12440            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12441              : )
   12442              :                                         {
   12443            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   12444            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1914;
   12445            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   12446            0 :                                           {
   12447            0 :                                             tree _r;
   12448            0 :                                             _r = captures[3];
   12449            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   12450            0 :                                             return _r;
   12451              :                                           }
   12452            0 : next_after_fail1914:;
   12453              :                                         }
   12454              :                                     }
   12455              :                                   }
   12456              :                               }
   12457              :                             break;
   12458              :                           }
   12459              :                         default:;
   12460              :                         }
   12461              :                     }
   12462              :                 }
   12463            0 :               if (integer_zerop (_q21))
   12464              :                 {
   12465            0 :                   if (integer_zerop (_p1))
   12466              :                     {
   12467            0 :                       switch (TREE_CODE (_p2))
   12468              :                         {
   12469            0 :                         case MINUS_EXPR:
   12470            0 :                           {
   12471            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12472            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12473            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12474              :                               {
   12475            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12476              :                                   {
   12477            0 :                                     {
   12478            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12479            0 :                                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   12480            0 :                                       if (res) return res;
   12481              :                                     }
   12482              :                                   }
   12483              :                               }
   12484              :                             break;
   12485              :                           }
   12486              :                         default:;
   12487              :                         }
   12488              :                     }
   12489              :                 }
   12490              :               break;
   12491              :             }
   12492              :           default:;
   12493              :           }
   12494              :         break;
   12495              :       }
   12496         1293 :     case NE_EXPR:
   12497         1293 :       {
   12498         1293 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12499         1293 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12500         1293 :         if (zerop (_q21))
   12501              :           {
   12502          336 :             switch (TREE_CODE (_p2))
   12503              :               {
   12504            0 :               case NEGATE_EXPR:
   12505            0 :                 {
   12506            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12507            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12508              :                     {
   12509            0 :                       {
   12510            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12511            0 :                         const enum tree_code cmp = NE_EXPR;
   12512            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12513            0 :  && bitwise_equal_p (captures[0], captures[1])
   12514              : )
   12515              :                           {
   12516            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   12517            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   12518            0 :                             {
   12519            0 :                               tree _r;
   12520            0 :                               _r = captures[1];
   12521            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   12522            0 :                               return _r;
   12523              :                             }
   12524            0 : next_after_fail1915:;
   12525              :                           }
   12526              :                       }
   12527              :                     }
   12528              :                   break;
   12529              :                 }
   12530          336 :               default:;
   12531              :               }
   12532          336 :           if (integer_zerop (_p2))
   12533              :             {
   12534          190 :               {
   12535          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12536          190 :                 const enum tree_code cmp = NE_EXPR;
   12537          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   12538          190 :  && bitwise_equal_p (captures[0], captures[1])
   12539              : )
   12540              :                   {
   12541            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   12542            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1916;
   12543            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   12544            0 :                     {
   12545            0 :                       tree _r;
   12546            0 :                       _r = captures[1];
   12547            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12548            0 :                       return _r;
   12549              :                     }
   12550          190 : next_after_fail1916:;
   12551              :                   }
   12552              :               }
   12553              :             }
   12554              :           }
   12555         1293 :         switch (TREE_CODE (_q20))
   12556              :           {
   12557           40 :           case MINUS_EXPR:
   12558           40 :             {
   12559           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12560           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12561           40 :               if (zerop (_q21))
   12562              :                 {
   12563            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12564              :                     {
   12565            0 :                       switch (TREE_CODE (_p2))
   12566              :                         {
   12567            0 :                         case MINUS_EXPR:
   12568            0 :                           {
   12569            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12570            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12571            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12572              :                               {
   12573            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12574              :                                   {
   12575            0 :                                     {
   12576            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12577            0 :                                       const enum tree_code cmp = NE_EXPR;
   12578            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12579              : )
   12580              :                                         {
   12581            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   12582            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   12583            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   12584            0 :                                           {
   12585            0 :                                             tree _r;
   12586            0 :                                             _r = captures[0];
   12587            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12588            0 :                                             return _r;
   12589              :                                           }
   12590            0 : next_after_fail1917:;
   12591              :                                         }
   12592              :                                     }
   12593              :                                   }
   12594              :                               }
   12595              :                             break;
   12596              :                           }
   12597              :                         default:;
   12598              :                         }
   12599              :                     }
   12600              :                 }
   12601           40 :               if (integer_zerop (_q21))
   12602              :                 {
   12603            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12604              :                     {
   12605            0 :                       if (integer_zerop (_p2))
   12606              :                         {
   12607            0 :                           {
   12608            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12609            0 :                             tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   12610            0 :                             if (res) return res;
   12611              :                           }
   12612              :                         }
   12613              :                     }
   12614              :                 }
   12615              :               break;
   12616              :             }
   12617              :           default:;
   12618              :           }
   12619              :         break;
   12620              :       }
   12621            0 :     case LTGT_EXPR:
   12622            0 :       {
   12623            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12624            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12625            0 :         if (zerop (_q21))
   12626              :           {
   12627            0 :             switch (TREE_CODE (_p2))
   12628              :               {
   12629            0 :               case NEGATE_EXPR:
   12630            0 :                 {
   12631            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12632            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12633              :                     {
   12634            0 :                       {
   12635            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12636            0 :                         const enum tree_code cmp = LTGT_EXPR;
   12637            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12638            0 :  && bitwise_equal_p (captures[0], captures[1])
   12639              : )
   12640              :                           {
   12641            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   12642            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   12643            0 :                             {
   12644            0 :                               tree _r;
   12645            0 :                               _r = captures[1];
   12646            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
   12647            0 :                               return _r;
   12648              :                             }
   12649            0 : next_after_fail1918:;
   12650              :                           }
   12651              :                       }
   12652              :                     }
   12653              :                   break;
   12654              :                 }
   12655            0 :               default:;
   12656              :               }
   12657            0 :           if (integer_zerop (_p2))
   12658              :             {
   12659            0 :               {
   12660            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12661            0 :                 const enum tree_code cmp = LTGT_EXPR;
   12662            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   12663            0 :  && bitwise_equal_p (captures[0], captures[1])
   12664              : )
   12665              :                   {
   12666            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   12667            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1919;
   12668            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   12669            0 :                     {
   12670            0 :                       tree _r;
   12671            0 :                       _r = captures[1];
   12672            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
   12673            0 :                       return _r;
   12674              :                     }
   12675            0 : next_after_fail1919:;
   12676              :                   }
   12677              :               }
   12678              :             }
   12679              :           }
   12680            0 :         switch (TREE_CODE (_q20))
   12681              :           {
   12682            0 :           case MINUS_EXPR:
   12683            0 :             {
   12684            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12685            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12686            0 :               if (zerop (_q21))
   12687              :                 {
   12688            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12689              :                     {
   12690            0 :                       switch (TREE_CODE (_p2))
   12691              :                         {
   12692            0 :                         case MINUS_EXPR:
   12693            0 :                           {
   12694            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12695            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12696            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12697              :                               {
   12698            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12699              :                                   {
   12700            0 :                                     {
   12701            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12702            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   12703            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12704              : )
   12705              :                                         {
   12706            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   12707            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1920;
   12708            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   12709            0 :                                           {
   12710            0 :                                             tree _r;
   12711            0 :                                             _r = captures[0];
   12712            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
   12713            0 :                                             return _r;
   12714              :                                           }
   12715            0 : next_after_fail1920:;
   12716              :                                         }
   12717              :                                     }
   12718              :                                   }
   12719              :                               }
   12720              :                             break;
   12721              :                           }
   12722              :                         default:;
   12723              :                         }
   12724              :                     }
   12725              :                 }
   12726            0 :               if (integer_zerop (_q21))
   12727              :                 {
   12728            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12729              :                     {
   12730            0 :                       if (integer_zerop (_p2))
   12731              :                         {
   12732            0 :                           {
   12733            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12734            0 :                             tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   12735            0 :                             if (res) return res;
   12736              :                           }
   12737              :                         }
   12738              :                     }
   12739              :                 }
   12740              :               break;
   12741              :             }
   12742              :           default:;
   12743              :           }
   12744              :         break;
   12745              :       }
   12746         1177 :     case GE_EXPR:
   12747         1177 :       {
   12748         1177 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12749         1177 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12750         1177 :         switch (TREE_CODE (_q20))
   12751              :           {
   12752            3 :           CASE_CONVERT:
   12753            3 :             {
   12754            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12755            3 :               if (zerop (_q21))
   12756              :                 {
   12757            0 :                   switch (TREE_CODE (_p2))
   12758              :                     {
   12759            0 :                     case NEGATE_EXPR:
   12760            0 :                       {
   12761            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12762            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12763              :                           {
   12764            0 :                             {
   12765            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12766            0 :                               const enum tree_code cmp = GE_EXPR;
   12767            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12768            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12769            0 :  && element_precision (captures[1])
   12770            0 :  <= element_precision (captures[0])
   12771            0 :  && bitwise_equal_p (captures[1], captures[2])
   12772            0 :  && (!VECTOR_TYPE_P (type)
   12773            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12774              : )
   12775              :                                 {
   12776            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12777              : )
   12778              :                                     {
   12779            0 :                                       {
   12780            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12781            0 :                                           if (types_match (captures[0], stype)
   12782              : )
   12783              :                                             {
   12784            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   12785            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   12786            0 :                                               {
   12787            0 :                                                 tree res_op0;
   12788            0 :                                                 res_op0 = captures[0];
   12789            0 :                                                 tree _r;
   12790            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12791            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12792            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12793            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12794            0 :                                                 return _r;
   12795              :                                               }
   12796            0 : next_after_fail1921:;
   12797              :                                             }
   12798              :                                           else
   12799              :                                             {
   12800            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   12801            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   12802            0 :                                               {
   12803            0 :                                                 tree res_op0;
   12804            0 :                                                 {
   12805            0 :                                                   tree _o1[1], _r1;
   12806            0 :                                                   _o1[0] = captures[2];
   12807            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12808              :                                                     {
   12809            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12810              :                                                     }
   12811              :                                                   else
   12812              :                                                     _r1 = _o1[0];
   12813            0 :                                                   res_op0 = _r1;
   12814              :                                                 }
   12815            0 :                                                 tree _r;
   12816            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12817            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12818            0 :                                                 return _r;
   12819              :                                               }
   12820            0 : next_after_fail1922:;
   12821              :                                             }
   12822              :                                       }
   12823              :                                     }
   12824              :                                   else
   12825              :                                     {
   12826            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   12827            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   12828            0 :                                       {
   12829            0 :                                         tree res_op0;
   12830            0 :                                         res_op0 = captures[2];
   12831            0 :                                         tree _r;
   12832            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12833            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   12834            0 :                                         return _r;
   12835              :                                       }
   12836            0 : next_after_fail1923:;
   12837              :                                     }
   12838              :                                 }
   12839              :                             }
   12840              :                           }
   12841              :                         break;
   12842              :                       }
   12843              :                     default:;
   12844              :                     }
   12845              :                 }
   12846              :               break;
   12847              :             }
   12848         1177 :           default:;
   12849              :           }
   12850         1177 :         if (zerop (_q21))
   12851              :           {
   12852          334 :             switch (TREE_CODE (_p2))
   12853              :               {
   12854            3 :               case NEGATE_EXPR:
   12855            3 :                 {
   12856            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12857            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12858              :                     {
   12859            3 :                       {
   12860            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12861            3 :                         const enum tree_code cmp = GE_EXPR;
   12862            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12863            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12864            6 :  && element_precision (captures[1])
   12865            3 :  <= element_precision (captures[0])
   12866            3 :  && bitwise_equal_p (captures[1], captures[2])
   12867            6 :  && (!VECTOR_TYPE_P (type)
   12868            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12869              : )
   12870              :                           {
   12871            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12872              : )
   12873              :                               {
   12874            0 :                                 {
   12875            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12876            0 :                                     if (types_match (captures[0], stype)
   12877              : )
   12878              :                                       {
   12879            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   12880            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   12881            0 :                                         {
   12882            0 :                                           tree res_op0;
   12883            0 :                                           res_op0 = captures[0];
   12884            0 :                                           tree _r;
   12885            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12886            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12887            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12888            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12889            0 :                                           return _r;
   12890              :                                         }
   12891            0 : next_after_fail1924:;
   12892              :                                       }
   12893              :                                     else
   12894              :                                       {
   12895            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   12896            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   12897            0 :                                         {
   12898            0 :                                           tree res_op0;
   12899            0 :                                           {
   12900            0 :                                             tree _o1[1], _r1;
   12901            0 :                                             _o1[0] = captures[2];
   12902            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12903              :                                               {
   12904            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12905              :                                               }
   12906              :                                             else
   12907              :                                               _r1 = _o1[0];
   12908            0 :                                             res_op0 = _r1;
   12909              :                                           }
   12910            0 :                                           tree _r;
   12911            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12912            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12913            0 :                                           return _r;
   12914              :                                         }
   12915            0 : next_after_fail1925:;
   12916              :                                       }
   12917              :                                 }
   12918              :                               }
   12919              :                             else
   12920              :                               {
   12921            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   12922            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   12923            3 :                                 {
   12924            3 :                                   tree res_op0;
   12925            3 :                                   res_op0 = captures[2];
   12926            3 :                                   tree _r;
   12927            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12928            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   12929            3 :                                   return _r;
   12930              :                                 }
   12931            0 : next_after_fail1926:;
   12932              :                               }
   12933              :                           }
   12934              :                       }
   12935              :                     }
   12936              :                   break;
   12937              :                 }
   12938              :               default:;
   12939              :               }
   12940              :           }
   12941         1174 :         switch (TREE_CODE (_q20))
   12942              :           {
   12943            0 :           case MINUS_EXPR:
   12944            0 :             {
   12945            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12946            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12947            0 :               if (zerop (_q21))
   12948              :                 {
   12949            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12950              :                     {
   12951            0 :                       switch (TREE_CODE (_p2))
   12952              :                         {
   12953            0 :                         case MINUS_EXPR:
   12954            0 :                           {
   12955            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12956            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12957            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12958              :                               {
   12959            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12960              :                                   {
   12961            0 :                                     {
   12962            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12963            0 :                                       const enum tree_code cmp = GE_EXPR;
   12964            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12965            0 :  && !TYPE_UNSIGNED (type)
   12966            0 :  && (!VECTOR_TYPE_P (type)
   12967            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12968              : )
   12969              :                                         {
   12970            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1927;
   12971            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1927;
   12972            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   12973            0 :                                           {
   12974            0 :                                             tree res_op0;
   12975            0 :                                             res_op0 = captures[0];
   12976            0 :                                             tree _r;
   12977            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12978            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   12979            0 :                                             return _r;
   12980              :                                           }
   12981            0 : next_after_fail1927:;
   12982              :                                         }
   12983              :                                     }
   12984              :                                   }
   12985              :                               }
   12986              :                             break;
   12987              :                           }
   12988              :                         default:;
   12989              :                         }
   12990              :                     }
   12991              :                 }
   12992              :               break;
   12993              :             }
   12994              :           default:;
   12995              :           }
   12996              :         break;
   12997              :       }
   12998        66427 :     case GT_EXPR:
   12999        66427 :       {
   13000        66427 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13001        66427 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13002        66427 :         switch (TREE_CODE (_q20))
   13003              :           {
   13004           13 :           CASE_CONVERT:
   13005           13 :             {
   13006           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13007           13 :               if (zerop (_q21))
   13008              :                 {
   13009            1 :                   switch (TREE_CODE (_p2))
   13010              :                     {
   13011            0 :                     case NEGATE_EXPR:
   13012            0 :                       {
   13013            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13014            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13015              :                           {
   13016            0 :                             {
   13017            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13018            0 :                               const enum tree_code cmp = GT_EXPR;
   13019            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13020            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13021            0 :  && element_precision (captures[1])
   13022            0 :  <= element_precision (captures[0])
   13023            0 :  && bitwise_equal_p (captures[1], captures[2])
   13024            0 :  && (!VECTOR_TYPE_P (type)
   13025            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13026              : )
   13027              :                                 {
   13028            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13029              : )
   13030              :                                     {
   13031            0 :                                       {
   13032            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13033            0 :                                           if (types_match (captures[0], stype)
   13034              : )
   13035              :                                             {
   13036            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1928;
   13037            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
   13038            0 :                                               {
   13039            0 :                                                 tree res_op0;
   13040            0 :                                                 res_op0 = captures[0];
   13041            0 :                                                 tree _r;
   13042            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13043            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13044            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13045            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   13046            0 :                                                 return _r;
   13047              :                                               }
   13048            0 : next_after_fail1928:;
   13049              :                                             }
   13050              :                                           else
   13051              :                                             {
   13052            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1929;
   13053            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
   13054            0 :                                               {
   13055            0 :                                                 tree res_op0;
   13056            0 :                                                 {
   13057            0 :                                                   tree _o1[1], _r1;
   13058            0 :                                                   _o1[0] = captures[2];
   13059            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   13060              :                                                     {
   13061            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13062              :                                                     }
   13063              :                                                   else
   13064              :                                                     _r1 = _o1[0];
   13065            0 :                                                   res_op0 = _r1;
   13066              :                                                 }
   13067            0 :                                                 tree _r;
   13068            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13069            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13070            0 :                                                 return _r;
   13071              :                                               }
   13072            0 : next_after_fail1929:;
   13073              :                                             }
   13074              :                                       }
   13075              :                                     }
   13076              :                                   else
   13077              :                                     {
   13078            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1930;
   13079            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
   13080            0 :                                       {
   13081            0 :                                         tree res_op0;
   13082            0 :                                         res_op0 = captures[2];
   13083            0 :                                         tree _r;
   13084            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13085            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13086            0 :                                         return _r;
   13087              :                                       }
   13088            0 : next_after_fail1930:;
   13089              :                                     }
   13090              :                                 }
   13091              :                             }
   13092              :                           }
   13093              :                         break;
   13094              :                       }
   13095              :                     default:;
   13096              :                     }
   13097              :                 }
   13098              :               break;
   13099              :             }
   13100        66427 :           default:;
   13101              :           }
   13102        66427 :         if (zerop (_q21))
   13103              :           {
   13104           84 :             switch (TREE_CODE (_p2))
   13105              :               {
   13106            6 :               case NEGATE_EXPR:
   13107            6 :                 {
   13108            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13109            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13110              :                     {
   13111            6 :                       {
   13112            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13113            6 :                         const enum tree_code cmp = GT_EXPR;
   13114            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13115            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13116           12 :  && element_precision (captures[1])
   13117            6 :  <= element_precision (captures[0])
   13118            6 :  && bitwise_equal_p (captures[1], captures[2])
   13119           12 :  && (!VECTOR_TYPE_P (type)
   13120            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13121              : )
   13122              :                           {
   13123            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13124              : )
   13125              :                               {
   13126            0 :                                 {
   13127            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13128            0 :                                     if (types_match (captures[0], stype)
   13129              : )
   13130              :                                       {
   13131            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1931;
   13132            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
   13133            0 :                                         {
   13134            0 :                                           tree res_op0;
   13135            0 :                                           res_op0 = captures[0];
   13136            0 :                                           tree _r;
   13137            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13138            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13139            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13140            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   13141            0 :                                           return _r;
   13142              :                                         }
   13143            0 : next_after_fail1931:;
   13144              :                                       }
   13145              :                                     else
   13146              :                                       {
   13147            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1932;
   13148            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
   13149            0 :                                         {
   13150            0 :                                           tree res_op0;
   13151            0 :                                           {
   13152            0 :                                             tree _o1[1], _r1;
   13153            0 :                                             _o1[0] = captures[2];
   13154            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13155              :                                               {
   13156            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13157              :                                               }
   13158              :                                             else
   13159              :                                               _r1 = _o1[0];
   13160            0 :                                             res_op0 = _r1;
   13161              :                                           }
   13162            0 :                                           tree _r;
   13163            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13164            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   13165            0 :                                           return _r;
   13166              :                                         }
   13167            0 : next_after_fail1932:;
   13168              :                                       }
   13169              :                                 }
   13170              :                               }
   13171              :                             else
   13172              :                               {
   13173            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1933;
   13174            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
   13175            6 :                                 {
   13176            6 :                                   tree res_op0;
   13177            6 :                                   res_op0 = captures[2];
   13178            6 :                                   tree _r;
   13179            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13180            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   13181            6 :                                   return _r;
   13182              :                                 }
   13183            0 : next_after_fail1933:;
   13184              :                               }
   13185              :                           }
   13186              :                       }
   13187              :                     }
   13188              :                   break;
   13189              :                 }
   13190              :               default:;
   13191              :               }
   13192              :           }
   13193        66421 :         switch (TREE_CODE (_q20))
   13194              :           {
   13195            0 :           case MINUS_EXPR:
   13196            0 :             {
   13197            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13198            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13199            0 :               if (zerop (_q21))
   13200              :                 {
   13201            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13202              :                     {
   13203            0 :                       switch (TREE_CODE (_p2))
   13204              :                         {
   13205            0 :                         case MINUS_EXPR:
   13206            0 :                           {
   13207            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13208            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13209            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13210              :                               {
   13211            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13212              :                                   {
   13213            0 :                                     {
   13214            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13215            0 :                                       const enum tree_code cmp = GT_EXPR;
   13216            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13217            0 :  && !TYPE_UNSIGNED (type)
   13218            0 :  && (!VECTOR_TYPE_P (type)
   13219            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13220              : )
   13221              :                                         {
   13222            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1934;
   13223            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1934;
   13224            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
   13225            0 :                                           {
   13226            0 :                                             tree res_op0;
   13227            0 :                                             res_op0 = captures[0];
   13228            0 :                                             tree _r;
   13229            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13230            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   13231            0 :                                             return _r;
   13232              :                                           }
   13233            0 : next_after_fail1934:;
   13234              :                                         }
   13235              :                                     }
   13236              :                                   }
   13237              :                               }
   13238              :                             break;
   13239              :                           }
   13240              :                         default:;
   13241              :                         }
   13242              :                     }
   13243              :                 }
   13244              :               break;
   13245              :             }
   13246              :           default:;
   13247              :           }
   13248              :         break;
   13249              :       }
   13250          966 :     case LE_EXPR:
   13251          966 :       {
   13252          966 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13253          966 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13254          966 :         switch (TREE_CODE (_q20))
   13255              :           {
   13256           62 :           CASE_CONVERT:
   13257           62 :             {
   13258           62 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13259           62 :               if (zerop (_q21))
   13260              :                 {
   13261            0 :                   switch (TREE_CODE (_p2))
   13262              :                     {
   13263            0 :                     case NEGATE_EXPR:
   13264            0 :                       {
   13265            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13266            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13267              :                           {
   13268            0 :                             {
   13269            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13270            0 :                               const enum tree_code cmp = LE_EXPR;
   13271            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13272            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13273            0 :  && element_precision (captures[1])
   13274            0 :  <= element_precision (captures[0])
   13275            0 :  && bitwise_equal_p (captures[1], captures[2])
   13276            0 :  && (!VECTOR_TYPE_P (type)
   13277            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13278            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13279              : )
   13280              :                                 {
   13281            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13282            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13283            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13284              : )
   13285              :                                     {
   13286            0 :                                       {
   13287            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13288            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13289            0 :                                           if (types_match (captures[0], stype)
   13290              : )
   13291              :                                             {
   13292            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1935;
   13293            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
   13294            0 :                                               {
   13295            0 :                                                 tree res_op0;
   13296            0 :                                                 {
   13297            0 :                                                   tree _o1[1], _r1;
   13298            0 :                                                   {
   13299            0 :                                                     tree _o2[1], _r2;
   13300            0 :                                                     _o2[0] = captures[0];
   13301            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13302            0 :                                                     _o1[0] = _r2;
   13303              :                                                   }
   13304            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13305            0 :                                                   res_op0 = _r1;
   13306              :                                                 }
   13307            0 :                                                 tree _r;
   13308            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13309            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13310            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13311            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13312            0 :                                                 return _r;
   13313              :                                               }
   13314            0 : next_after_fail1935:;
   13315              :                                             }
   13316              :                                           else
   13317              :                                             {
   13318            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1936;
   13319            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
   13320            0 :                                               {
   13321            0 :                                                 tree res_op0;
   13322            0 :                                                 {
   13323            0 :                                                   tree _o1[1], _r1;
   13324            0 :                                                   {
   13325            0 :                                                     tree _o2[1], _r2;
   13326            0 :                                                     {
   13327            0 :                                                       tree _o3[1], _r3;
   13328            0 :                                                       _o3[0] = captures[2];
   13329            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13330              :                                                         {
   13331            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13332              :                                                         }
   13333              :                                                       else
   13334              :                                                         _r3 = _o3[0];
   13335            0 :                                                       _o2[0] = _r3;
   13336              :                                                     }
   13337            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13338            0 :                                                     _o1[0] = _r2;
   13339              :                                                   }
   13340            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13341            0 :                                                   res_op0 = _r1;
   13342              :                                                 }
   13343            0 :                                                 tree _r;
   13344            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13345            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13346            0 :                                                 return _r;
   13347              :                                               }
   13348            0 : next_after_fail1936:;
   13349              :                                             }
   13350              :                                       }
   13351              :                                     }
   13352              :                                   else
   13353              :                                     {
   13354            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1937;
   13355            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   13356            0 :                                       {
   13357            0 :                                         tree res_op0;
   13358            0 :                                         {
   13359            0 :                                           tree _o1[1], _r1;
   13360            0 :                                           {
   13361            0 :                                             tree _o2[1], _r2;
   13362            0 :                                             _o2[0] = captures[2];
   13363            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13364            0 :                                             _o1[0] = _r2;
   13365              :                                           }
   13366            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13367            0 :                                           res_op0 = _r1;
   13368              :                                         }
   13369            0 :                                         tree _r;
   13370            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13371            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13372            0 :                                         return _r;
   13373              :                                       }
   13374            0 : next_after_fail1937:;
   13375              :                                     }
   13376              :                                 }
   13377              :                             }
   13378              :                           }
   13379              :                         break;
   13380              :                       }
   13381              :                     default:;
   13382              :                     }
   13383              :                 }
   13384              :               break;
   13385              :             }
   13386          966 :           default:;
   13387              :           }
   13388          966 :         if (zerop (_q21))
   13389              :           {
   13390           18 :             switch (TREE_CODE (_p2))
   13391              :               {
   13392            0 :               case NEGATE_EXPR:
   13393            0 :                 {
   13394            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13395            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13396              :                     {
   13397            0 :                       {
   13398            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13399            0 :                         const enum tree_code cmp = LE_EXPR;
   13400            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13401            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13402            0 :  && element_precision (captures[1])
   13403            0 :  <= element_precision (captures[0])
   13404            0 :  && bitwise_equal_p (captures[1], captures[2])
   13405            0 :  && (!VECTOR_TYPE_P (type)
   13406            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13407            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13408              : )
   13409              :                           {
   13410            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13411            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13412            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13413              : )
   13414              :                               {
   13415            0 :                                 {
   13416            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13417            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13418            0 :                                     if (types_match (captures[0], stype)
   13419              : )
   13420              :                                       {
   13421            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1938;
   13422            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   13423            0 :                                         {
   13424            0 :                                           tree res_op0;
   13425            0 :                                           {
   13426            0 :                                             tree _o1[1], _r1;
   13427            0 :                                             {
   13428            0 :                                               tree _o2[1], _r2;
   13429            0 :                                               _o2[0] = captures[0];
   13430            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13431            0 :                                               _o1[0] = _r2;
   13432              :                                             }
   13433            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13434            0 :                                             res_op0 = _r1;
   13435              :                                           }
   13436            0 :                                           tree _r;
   13437            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13438            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13439            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13440            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13441            0 :                                           return _r;
   13442              :                                         }
   13443            0 : next_after_fail1938:;
   13444              :                                       }
   13445              :                                     else
   13446              :                                       {
   13447            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1939;
   13448            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   13449            0 :                                         {
   13450            0 :                                           tree res_op0;
   13451            0 :                                           {
   13452            0 :                                             tree _o1[1], _r1;
   13453            0 :                                             {
   13454            0 :                                               tree _o2[1], _r2;
   13455            0 :                                               {
   13456            0 :                                                 tree _o3[1], _r3;
   13457            0 :                                                 _o3[0] = captures[2];
   13458            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13459              :                                                   {
   13460            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13461              :                                                   }
   13462              :                                                 else
   13463              :                                                   _r3 = _o3[0];
   13464            0 :                                                 _o2[0] = _r3;
   13465              :                                               }
   13466            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13467            0 :                                               _o1[0] = _r2;
   13468              :                                             }
   13469            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13470            0 :                                             res_op0 = _r1;
   13471              :                                           }
   13472            0 :                                           tree _r;
   13473            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13474            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13475            0 :                                           return _r;
   13476              :                                         }
   13477            0 : next_after_fail1939:;
   13478              :                                       }
   13479              :                                 }
   13480              :                               }
   13481              :                             else
   13482              :                               {
   13483            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1940;
   13484            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   13485            0 :                                 {
   13486            0 :                                   tree res_op0;
   13487            0 :                                   {
   13488            0 :                                     tree _o1[1], _r1;
   13489            0 :                                     {
   13490            0 :                                       tree _o2[1], _r2;
   13491            0 :                                       _o2[0] = captures[2];
   13492            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13493            0 :                                       _o1[0] = _r2;
   13494              :                                     }
   13495            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13496            0 :                                     res_op0 = _r1;
   13497              :                                   }
   13498            0 :                                   tree _r;
   13499            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13500            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13501            0 :                                   return _r;
   13502              :                                 }
   13503            0 : next_after_fail1940:;
   13504              :                               }
   13505              :                           }
   13506              :                       }
   13507              :                     }
   13508              :                   break;
   13509              :                 }
   13510              :               default:;
   13511              :               }
   13512              :           }
   13513          966 :         switch (TREE_CODE (_q20))
   13514              :           {
   13515            0 :           case MINUS_EXPR:
   13516            0 :             {
   13517            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13518            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13519            0 :               if (zerop (_q21))
   13520              :                 {
   13521            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13522              :                     {
   13523            0 :                       switch (TREE_CODE (_p2))
   13524              :                         {
   13525            0 :                         case MINUS_EXPR:
   13526            0 :                           {
   13527            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13528            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13529            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13530              :                               {
   13531            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13532              :                                   {
   13533            0 :                                     {
   13534            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13535            0 :                                       const enum tree_code cmp = LE_EXPR;
   13536            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13537            0 :  && !TYPE_UNSIGNED (type)
   13538              : )
   13539              :                                         {
   13540            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13541            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13542            0 :  && (!VECTOR_TYPE_P (type)
   13543            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13544            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13545              : )
   13546              :                                             {
   13547            0 :                                               {
   13548            0 :  tree utype = unsigned_type_for (type);
   13549            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1941;
   13550            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1941;
   13551            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   13552            0 :                                                   {
   13553            0 :                                                     tree res_op0;
   13554            0 :                                                     {
   13555            0 :                                                       tree _o1[1], _r1;
   13556            0 :                                                       {
   13557            0 :                                                         tree _o2[1], _r2;
   13558            0 :                                                         _o2[0] = captures[0];
   13559            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13560            0 :                                                         _o1[0] = _r2;
   13561              :                                                       }
   13562            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13563            0 :                                                       res_op0 = _r1;
   13564              :                                                     }
   13565            0 :                                                     tree _r;
   13566            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13567            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13568            0 :                                                     return _r;
   13569              :                                                   }
   13570            0 : next_after_fail1941:;
   13571              :                                               }
   13572              :                                             }
   13573              :                                           else
   13574              :                                             {
   13575            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1942;
   13576            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1942;
   13577            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   13578            0 :                                               {
   13579            0 :                                                 tree res_op0;
   13580            0 :                                                 {
   13581            0 :                                                   tree _o1[1], _r1;
   13582            0 :                                                   _o1[0] = captures[0];
   13583            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13584            0 :                                                   res_op0 = _r1;
   13585              :                                                 }
   13586            0 :                                                 tree _r;
   13587            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13588            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13589            0 :                                                 return _r;
   13590              :                                               }
   13591            0 : next_after_fail1942:;
   13592              :                                             }
   13593              :                                         }
   13594              :                                     }
   13595              :                                   }
   13596              :                               }
   13597              :                             break;
   13598              :                           }
   13599              :                         default:;
   13600              :                         }
   13601              :                     }
   13602              :                 }
   13603              :               break;
   13604              :             }
   13605              :           default:;
   13606              :           }
   13607              :         break;
   13608              :       }
   13609        20789 :     case LT_EXPR:
   13610        20789 :       {
   13611        20789 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13612        20789 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13613        20789 :         switch (TREE_CODE (_q20))
   13614              :           {
   13615          162 :           CASE_CONVERT:
   13616          162 :             {
   13617          162 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13618          162 :               if (zerop (_q21))
   13619              :                 {
   13620           83 :                   switch (TREE_CODE (_p2))
   13621              :                     {
   13622            0 :                     case NEGATE_EXPR:
   13623            0 :                       {
   13624            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13625            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13626              :                           {
   13627            0 :                             {
   13628            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13629            0 :                               const enum tree_code cmp = LT_EXPR;
   13630            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13631            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13632            0 :  && element_precision (captures[1])
   13633            0 :  <= element_precision (captures[0])
   13634            0 :  && bitwise_equal_p (captures[1], captures[2])
   13635            0 :  && (!VECTOR_TYPE_P (type)
   13636            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13637            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13638              : )
   13639              :                                 {
   13640            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13641            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13642            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13643              : )
   13644              :                                     {
   13645            0 :                                       {
   13646            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13647            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13648            0 :                                           if (types_match (captures[0], stype)
   13649              : )
   13650              :                                             {
   13651            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1943;
   13652            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   13653            0 :                                               {
   13654            0 :                                                 tree res_op0;
   13655            0 :                                                 {
   13656            0 :                                                   tree _o1[1], _r1;
   13657            0 :                                                   {
   13658            0 :                                                     tree _o2[1], _r2;
   13659            0 :                                                     _o2[0] = captures[0];
   13660            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13661            0 :                                                     _o1[0] = _r2;
   13662              :                                                   }
   13663            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13664            0 :                                                   res_op0 = _r1;
   13665              :                                                 }
   13666            0 :                                                 tree _r;
   13667            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13668            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13669            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13670            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13671            0 :                                                 return _r;
   13672              :                                               }
   13673            0 : next_after_fail1943:;
   13674              :                                             }
   13675              :                                           else
   13676              :                                             {
   13677            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1944;
   13678            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   13679            0 :                                               {
   13680            0 :                                                 tree res_op0;
   13681            0 :                                                 {
   13682            0 :                                                   tree _o1[1], _r1;
   13683            0 :                                                   {
   13684            0 :                                                     tree _o2[1], _r2;
   13685            0 :                                                     {
   13686            0 :                                                       tree _o3[1], _r3;
   13687            0 :                                                       _o3[0] = captures[2];
   13688            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13689              :                                                         {
   13690            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13691              :                                                         }
   13692              :                                                       else
   13693              :                                                         _r3 = _o3[0];
   13694            0 :                                                       _o2[0] = _r3;
   13695              :                                                     }
   13696            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13697            0 :                                                     _o1[0] = _r2;
   13698              :                                                   }
   13699            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13700            0 :                                                   res_op0 = _r1;
   13701              :                                                 }
   13702            0 :                                                 tree _r;
   13703            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13704            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13705            0 :                                                 return _r;
   13706              :                                               }
   13707            0 : next_after_fail1944:;
   13708              :                                             }
   13709              :                                       }
   13710              :                                     }
   13711              :                                   else
   13712              :                                     {
   13713            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1945;
   13714            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   13715            0 :                                       {
   13716            0 :                                         tree res_op0;
   13717            0 :                                         {
   13718            0 :                                           tree _o1[1], _r1;
   13719            0 :                                           {
   13720            0 :                                             tree _o2[1], _r2;
   13721            0 :                                             _o2[0] = captures[2];
   13722            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13723            0 :                                             _o1[0] = _r2;
   13724              :                                           }
   13725            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13726            0 :                                           res_op0 = _r1;
   13727              :                                         }
   13728            0 :                                         tree _r;
   13729            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13730            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13731            0 :                                         return _r;
   13732              :                                       }
   13733            0 : next_after_fail1945:;
   13734              :                                     }
   13735              :                                 }
   13736              :                             }
   13737              :                           }
   13738              :                         break;
   13739              :                       }
   13740              :                     default:;
   13741              :                     }
   13742              :                 }
   13743              :               break;
   13744              :             }
   13745        20789 :           default:;
   13746              :           }
   13747        20789 :         if (zerop (_q21))
   13748              :           {
   13749          633 :             switch (TREE_CODE (_p2))
   13750              :               {
   13751           16 :               case NEGATE_EXPR:
   13752           16 :                 {
   13753           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13754           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13755              :                     {
   13756           16 :                       {
   13757           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13758           16 :                         const enum tree_code cmp = LT_EXPR;
   13759           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13760           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13761           32 :  && element_precision (captures[1])
   13762           16 :  <= element_precision (captures[0])
   13763           16 :  && bitwise_equal_p (captures[1], captures[2])
   13764           32 :  && (!VECTOR_TYPE_P (type)
   13765           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13766            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13767              : )
   13768              :                           {
   13769            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13770            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13771            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13772              : )
   13773              :                               {
   13774            0 :                                 {
   13775            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13776            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13777            0 :                                     if (types_match (captures[0], stype)
   13778              : )
   13779              :                                       {
   13780            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1946;
   13781            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   13782            0 :                                         {
   13783            0 :                                           tree res_op0;
   13784            0 :                                           {
   13785            0 :                                             tree _o1[1], _r1;
   13786            0 :                                             {
   13787            0 :                                               tree _o2[1], _r2;
   13788            0 :                                               _o2[0] = captures[0];
   13789            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13790            0 :                                               _o1[0] = _r2;
   13791              :                                             }
   13792            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13793            0 :                                             res_op0 = _r1;
   13794              :                                           }
   13795            0 :                                           tree _r;
   13796            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13797            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13798            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13799            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13800            0 :                                           return _r;
   13801              :                                         }
   13802           16 : next_after_fail1946:;
   13803              :                                       }
   13804              :                                     else
   13805              :                                       {
   13806            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1947;
   13807            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
   13808            0 :                                         {
   13809            0 :                                           tree res_op0;
   13810            0 :                                           {
   13811            0 :                                             tree _o1[1], _r1;
   13812            0 :                                             {
   13813            0 :                                               tree _o2[1], _r2;
   13814            0 :                                               {
   13815            0 :                                                 tree _o3[1], _r3;
   13816            0 :                                                 _o3[0] = captures[2];
   13817            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13818              :                                                   {
   13819            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13820              :                                                   }
   13821              :                                                 else
   13822              :                                                   _r3 = _o3[0];
   13823            0 :                                                 _o2[0] = _r3;
   13824              :                                               }
   13825            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13826            0 :                                               _o1[0] = _r2;
   13827              :                                             }
   13828            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13829            0 :                                             res_op0 = _r1;
   13830              :                                           }
   13831            0 :                                           tree _r;
   13832            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13833            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13834            0 :                                           return _r;
   13835              :                                         }
   13836           16 : next_after_fail1947:;
   13837              :                                       }
   13838              :                                 }
   13839              :                               }
   13840              :                             else
   13841              :                               {
   13842            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1948;
   13843            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
   13844            0 :                                 {
   13845            0 :                                   tree res_op0;
   13846            0 :                                   {
   13847            0 :                                     tree _o1[1], _r1;
   13848            0 :                                     {
   13849            0 :                                       tree _o2[1], _r2;
   13850            0 :                                       _o2[0] = captures[2];
   13851            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13852            0 :                                       _o1[0] = _r2;
   13853              :                                     }
   13854            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13855            0 :                                     res_op0 = _r1;
   13856              :                                   }
   13857            0 :                                   tree _r;
   13858            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13859            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13860            0 :                                   return _r;
   13861              :                                 }
   13862           16 : next_after_fail1948:;
   13863              :                               }
   13864              :                           }
   13865              :                       }
   13866              :                     }
   13867              :                   break;
   13868              :                 }
   13869              :               default:;
   13870              :               }
   13871              :           }
   13872        20789 :         switch (TREE_CODE (_q20))
   13873              :           {
   13874            0 :           case MINUS_EXPR:
   13875            0 :             {
   13876            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13877            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13878            0 :               if (zerop (_q21))
   13879              :                 {
   13880            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13881              :                     {
   13882            0 :                       switch (TREE_CODE (_p2))
   13883              :                         {
   13884            0 :                         case MINUS_EXPR:
   13885            0 :                           {
   13886            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13887            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13888            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13889              :                               {
   13890            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13891              :                                   {
   13892            0 :                                     {
   13893            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13894            0 :                                       const enum tree_code cmp = LT_EXPR;
   13895            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13896            0 :  && !TYPE_UNSIGNED (type)
   13897              : )
   13898              :                                         {
   13899            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13900            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13901            0 :  && (!VECTOR_TYPE_P (type)
   13902            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13903            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13904              : )
   13905              :                                             {
   13906            0 :                                               {
   13907            0 :  tree utype = unsigned_type_for (type);
   13908            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1949;
   13909            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1949;
   13910            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
   13911            0 :                                                   {
   13912            0 :                                                     tree res_op0;
   13913            0 :                                                     {
   13914            0 :                                                       tree _o1[1], _r1;
   13915            0 :                                                       {
   13916            0 :                                                         tree _o2[1], _r2;
   13917            0 :                                                         _o2[0] = captures[0];
   13918            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13919            0 :                                                         _o1[0] = _r2;
   13920              :                                                       }
   13921            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13922            0 :                                                       res_op0 = _r1;
   13923              :                                                     }
   13924            0 :                                                     tree _r;
   13925            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13926            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13927            0 :                                                     return _r;
   13928              :                                                   }
   13929            0 : next_after_fail1949:;
   13930              :                                               }
   13931              :                                             }
   13932              :                                           else
   13933              :                                             {
   13934            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1950;
   13935            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1950;
   13936            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
   13937            0 :                                               {
   13938            0 :                                                 tree res_op0;
   13939            0 :                                                 {
   13940            0 :                                                   tree _o1[1], _r1;
   13941            0 :                                                   _o1[0] = captures[0];
   13942            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13943            0 :                                                   res_op0 = _r1;
   13944              :                                                 }
   13945            0 :                                                 tree _r;
   13946            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13947            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13948            0 :                                                 return _r;
   13949              :                                               }
   13950            0 : next_after_fail1950:;
   13951              :                                             }
   13952              :                                         }
   13953              :                                     }
   13954              :                                   }
   13955              :                               }
   13956              :                             break;
   13957              :                           }
   13958              :                         default:;
   13959              :                         }
   13960              :                     }
   13961              :                 }
   13962              :               break;
   13963              :             }
   13964              :           default:;
   13965              :           }
   13966              :         break;
   13967              :       }
   13968       386006 :     default:;
   13969              :     }
   13970       386006 : {
   13971       386006 :   tree _p0_pops[1];
   13972       386006 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13973              :     {
   13974          970 :       tree _q20 = _p0_pops[0];
   13975          970 :       if (tree_truth_valued_p (_q20))
   13976              :         {
   13977            0 :           {
   13978            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13979            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13980              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13981              : )
   13982              :               {
   13983            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
   13984            0 :                 {
   13985            0 :                   tree res_op0;
   13986            0 :                   res_op0 = captures[0];
   13987            0 :                   tree res_op1;
   13988            0 :                   res_op1 = captures[2];
   13989            0 :                   tree res_op2;
   13990            0 :                   res_op2 = captures[1];
   13991            0 :                   tree _r;
   13992            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13993            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1076, __FILE__, __LINE__, true);
   13994            0 :                   return _r;
   13995              :                 }
   13996            0 : next_after_fail1951:;
   13997              :               }
   13998              :           }
   13999              :         }
   14000              :     }
   14001              : }
   14002       386006 :   switch (TREE_CODE (_p1))
   14003              :     {
   14004            0 :     case VIEW_CONVERT_EXPR:
   14005            0 :       {
   14006            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14007            0 :         switch (TREE_CODE (_q30))
   14008              :           {
   14009            0 :           case CALL_EXPR:
   14010            0 :             switch (get_call_combined_fn (_q30))
   14011              :               {
   14012            0 :               case CFN_COND_ADD:
   14013            0 :                 if (call_expr_nargs (_q30) == 4)
   14014              :     {
   14015            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14016            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14017            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14018            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14019            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14020              :                       {
   14021            0 :                         {
   14022            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14023            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14024            0 :                           if (res) return res;
   14025              :                         }
   14026              :                       }
   14027              :                   }
   14028              :                 break;
   14029            0 :               case CFN_COND_AND:
   14030            0 :                 if (call_expr_nargs (_q30) == 4)
   14031              :     {
   14032            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14033            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14034            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14035            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14036            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14037              :                       {
   14038            0 :                         {
   14039            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14040            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14041            0 :                           if (res) return res;
   14042              :                         }
   14043              :                       }
   14044              :                   }
   14045              :                 break;
   14046            0 :               case CFN_COND_DIV:
   14047            0 :                 if (call_expr_nargs (_q30) == 4)
   14048              :     {
   14049            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14050            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14051            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14052            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14053            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14054              :                       {
   14055            0 :                         {
   14056            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14057            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14058            0 :                           if (res) return res;
   14059              :                         }
   14060              :                       }
   14061              :                   }
   14062              :                 break;
   14063            0 :               case CFN_COND_IOR:
   14064            0 :                 if (call_expr_nargs (_q30) == 4)
   14065              :     {
   14066            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14067            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14068            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14069            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14070            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14071              :                       {
   14072            0 :                         {
   14073            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14074            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14075            0 :                           if (res) return res;
   14076              :                         }
   14077              :                       }
   14078              :                   }
   14079              :                 break;
   14080            0 :               case CFN_COND_MAX:
   14081            0 :                 if (call_expr_nargs (_q30) == 4)
   14082              :     {
   14083            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14084            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14085            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14086            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14087            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14088              :                       {
   14089            0 :                         {
   14090            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14091            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14092            0 :                           if (res) return res;
   14093              :                         }
   14094              :                       }
   14095              :                   }
   14096              :                 break;
   14097            0 :               case CFN_COND_MIN:
   14098            0 :                 if (call_expr_nargs (_q30) == 4)
   14099              :     {
   14100            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14101            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14102            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14103            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14104            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14105              :                       {
   14106            0 :                         {
   14107            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14108            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14109            0 :                           if (res) return res;
   14110              :                         }
   14111              :                       }
   14112              :                   }
   14113              :                 break;
   14114            0 :               case CFN_COND_MOD:
   14115            0 :                 if (call_expr_nargs (_q30) == 4)
   14116              :     {
   14117            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14118            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14119            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14120            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14121            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14122              :                       {
   14123            0 :                         {
   14124            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14125            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14126            0 :                           if (res) return res;
   14127              :                         }
   14128              :                       }
   14129              :                   }
   14130              :                 break;
   14131            0 :               case CFN_COND_MUL:
   14132            0 :                 if (call_expr_nargs (_q30) == 4)
   14133              :     {
   14134            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14135            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14136            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14137            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14138            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14139              :                       {
   14140            0 :                         {
   14141            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14142            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14143            0 :                           if (res) return res;
   14144              :                         }
   14145              :                       }
   14146              :                   }
   14147              :                 break;
   14148            0 :               case CFN_COND_SHL:
   14149            0 :                 if (call_expr_nargs (_q30) == 4)
   14150              :     {
   14151            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14152            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14153            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14154            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14155            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14156              :                       {
   14157            0 :                         {
   14158            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14159            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14160            0 :                           if (res) return res;
   14161              :                         }
   14162              :                       }
   14163              :                   }
   14164              :                 break;
   14165            0 :               case CFN_COND_SHR:
   14166            0 :                 if (call_expr_nargs (_q30) == 4)
   14167              :     {
   14168            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14169            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14170            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14171            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14172            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14173              :                       {
   14174            0 :                         {
   14175            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14176            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14177            0 :                           if (res) return res;
   14178              :                         }
   14179              :                       }
   14180              :                   }
   14181              :                 break;
   14182            0 :               case CFN_COND_SUB:
   14183            0 :                 if (call_expr_nargs (_q30) == 4)
   14184              :     {
   14185            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14186            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14187            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14188            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14189            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14190              :                       {
   14191            0 :                         {
   14192            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14193            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14194            0 :                           if (res) return res;
   14195              :                         }
   14196              :                       }
   14197              :                   }
   14198              :                 break;
   14199            0 :               case CFN_COND_XOR:
   14200            0 :                 if (call_expr_nargs (_q30) == 4)
   14201              :     {
   14202            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14203            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14204            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14205            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14206            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14207              :                       {
   14208            0 :                         {
   14209            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14210            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14211            0 :                           if (res) return res;
   14212              :                         }
   14213              :                       }
   14214              :                   }
   14215              :                 break;
   14216            0 :               case CFN_COND_COPYSIGN:
   14217            0 :                 if (call_expr_nargs (_q30) == 4)
   14218              :     {
   14219            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14220            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14221            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14222            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14223            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14224              :                       {
   14225            0 :                         {
   14226            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14227            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14228            0 :                           if (res) return res;
   14229              :                         }
   14230              :                       }
   14231              :                   }
   14232              :                 break;
   14233            0 :               case CFN_COND_FMAX:
   14234            0 :                 if (call_expr_nargs (_q30) == 4)
   14235              :     {
   14236            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14237            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14238            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14239            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14240            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14241              :                       {
   14242            0 :                         {
   14243            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14244            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14245            0 :                           if (res) return res;
   14246              :                         }
   14247              :                       }
   14248              :                   }
   14249              :                 break;
   14250            0 :               case CFN_COND_FMIN:
   14251            0 :                 if (call_expr_nargs (_q30) == 4)
   14252              :     {
   14253            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14254            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14255            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14256            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14257            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14258              :                       {
   14259            0 :                         {
   14260            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14261            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14262            0 :                           if (res) return res;
   14263              :                         }
   14264              :                       }
   14265              :                   }
   14266              :                 break;
   14267            0 :               case CFN_COND_RDIV:
   14268            0 :                 if (call_expr_nargs (_q30) == 4)
   14269              :     {
   14270            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14271            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14272            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14273            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14274            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14275              :                       {
   14276            0 :                         {
   14277            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14278            0 :                           tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14279            0 :                           if (res) return res;
   14280              :                         }
   14281              :                       }
   14282              :                   }
   14283              :                 break;
   14284              :               default:;
   14285              :               }
   14286              :             break;
   14287              :           default:;
   14288              :           }
   14289              :         break;
   14290              :       }
   14291           12 :     case CALL_EXPR:
   14292           12 :       switch (get_call_combined_fn (_p1))
   14293              :         {
   14294            0 :         case CFN_COND_ADD:
   14295            0 :           if (call_expr_nargs (_p1) == 4)
   14296              :     {
   14297            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14298            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14299            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14300            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14301            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14302              :                 {
   14303            0 :                   {
   14304            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14305            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14306            0 :                     if (res) return res;
   14307              :                   }
   14308              :                 }
   14309              :             }
   14310              :           break;
   14311            0 :         case CFN_COND_AND:
   14312            0 :           if (call_expr_nargs (_p1) == 4)
   14313              :     {
   14314            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14315            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14316            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14317            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14318            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14319              :                 {
   14320            0 :                   {
   14321            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14322            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14323            0 :                     if (res) return res;
   14324              :                   }
   14325              :                 }
   14326              :             }
   14327              :           break;
   14328            0 :         case CFN_COND_DIV:
   14329            0 :           if (call_expr_nargs (_p1) == 4)
   14330              :     {
   14331            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14332            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14333            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14334            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14335            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14336              :                 {
   14337            0 :                   {
   14338            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14339            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14340            0 :                     if (res) return res;
   14341              :                   }
   14342              :                 }
   14343              :             }
   14344              :           break;
   14345            0 :         case CFN_COND_IOR:
   14346            0 :           if (call_expr_nargs (_p1) == 4)
   14347              :     {
   14348            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14349            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14350            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14351            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14352            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14353              :                 {
   14354            0 :                   {
   14355            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14356            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14357            0 :                     if (res) return res;
   14358              :                   }
   14359              :                 }
   14360              :             }
   14361              :           break;
   14362            0 :         case CFN_COND_MAX:
   14363            0 :           if (call_expr_nargs (_p1) == 4)
   14364              :     {
   14365            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14366            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14367            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14368            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14369            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14370              :                 {
   14371            0 :                   {
   14372            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14373            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14374            0 :                     if (res) return res;
   14375              :                   }
   14376              :                 }
   14377              :             }
   14378              :           break;
   14379            0 :         case CFN_COND_MIN:
   14380            0 :           if (call_expr_nargs (_p1) == 4)
   14381              :     {
   14382            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14383            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14384            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14385            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14386            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14387              :                 {
   14388            0 :                   {
   14389            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14390            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14391            0 :                     if (res) return res;
   14392              :                   }
   14393              :                 }
   14394              :             }
   14395              :           break;
   14396            0 :         case CFN_COND_MOD:
   14397            0 :           if (call_expr_nargs (_p1) == 4)
   14398              :     {
   14399            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14400            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14401            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14402            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14403            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14404              :                 {
   14405            0 :                   {
   14406            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14407            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14408            0 :                     if (res) return res;
   14409              :                   }
   14410              :                 }
   14411              :             }
   14412              :           break;
   14413            0 :         case CFN_COND_MUL:
   14414            0 :           if (call_expr_nargs (_p1) == 4)
   14415              :     {
   14416            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14417            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14418            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14419            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14420            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14421              :                 {
   14422            0 :                   {
   14423            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14424            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14425            0 :                     if (res) return res;
   14426              :                   }
   14427              :                 }
   14428              :             }
   14429              :           break;
   14430            0 :         case CFN_COND_SHL:
   14431            0 :           if (call_expr_nargs (_p1) == 4)
   14432              :     {
   14433            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14434            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14435            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14436            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14437            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14438              :                 {
   14439            0 :                   {
   14440            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14441            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14442            0 :                     if (res) return res;
   14443              :                   }
   14444              :                 }
   14445              :             }
   14446              :           break;
   14447            0 :         case CFN_COND_SHR:
   14448            0 :           if (call_expr_nargs (_p1) == 4)
   14449              :     {
   14450            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14451            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14452            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14453            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14454            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14455              :                 {
   14456            0 :                   {
   14457            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14458            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14459            0 :                     if (res) return res;
   14460              :                   }
   14461              :                 }
   14462              :             }
   14463              :           break;
   14464            0 :         case CFN_COND_SUB:
   14465            0 :           if (call_expr_nargs (_p1) == 4)
   14466              :     {
   14467            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14468            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14469            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14470            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14471            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14472              :                 {
   14473            0 :                   {
   14474            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14475            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14476            0 :                     if (res) return res;
   14477              :                   }
   14478              :                 }
   14479              :             }
   14480              :           break;
   14481            0 :         case CFN_COND_XOR:
   14482            0 :           if (call_expr_nargs (_p1) == 4)
   14483              :     {
   14484            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14485            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14486            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14487            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14488            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14489              :                 {
   14490            0 :                   {
   14491            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14492            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14493            0 :                     if (res) return res;
   14494              :                   }
   14495              :                 }
   14496              :             }
   14497              :           break;
   14498            0 :         case CFN_COND_COPYSIGN:
   14499            0 :           if (call_expr_nargs (_p1) == 4)
   14500              :     {
   14501            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14502            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14503            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14504            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14505            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14506              :                 {
   14507            0 :                   {
   14508            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14509            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14510            0 :                     if (res) return res;
   14511              :                   }
   14512              :                 }
   14513              :             }
   14514              :           break;
   14515            0 :         case CFN_COND_FMAX:
   14516            0 :           if (call_expr_nargs (_p1) == 4)
   14517              :     {
   14518            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14519            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14520            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14521            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14522            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14523              :                 {
   14524            0 :                   {
   14525            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14526            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14527            0 :                     if (res) return res;
   14528              :                   }
   14529              :                 }
   14530              :             }
   14531              :           break;
   14532            0 :         case CFN_COND_FMIN:
   14533            0 :           if (call_expr_nargs (_p1) == 4)
   14534              :     {
   14535            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14536            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14537            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14538            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14539            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14540              :                 {
   14541            0 :                   {
   14542            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14543            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14544            0 :                     if (res) return res;
   14545              :                   }
   14546              :                 }
   14547              :             }
   14548              :           break;
   14549            0 :         case CFN_COND_RDIV:
   14550            0 :           if (call_expr_nargs (_p1) == 4)
   14551              :     {
   14552            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14553            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14554            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14555            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14556            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14557              :                 {
   14558            0 :                   {
   14559            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14560            0 :                     tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14561            0 :                     if (res) return res;
   14562              :                   }
   14563              :                 }
   14564              :             }
   14565              :           break;
   14566              :         default:;
   14567              :         }
   14568              :       break;
   14569       386006 :     default:;
   14570              :     }
   14571       386006 :   switch (TREE_CODE (_p2))
   14572              :     {
   14573            0 :     case VIEW_CONVERT_EXPR:
   14574            0 :       {
   14575            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14576            0 :         switch (TREE_CODE (_q40))
   14577              :           {
   14578            0 :           case CALL_EXPR:
   14579            0 :             switch (get_call_combined_fn (_q40))
   14580              :               {
   14581            0 :               case CFN_COND_ADD:
   14582            0 :                 if (call_expr_nargs (_q40) == 4)
   14583              :     {
   14584            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14585            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14586            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14587            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14588            0 :                     {
   14589            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14590            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14591            0 :                       if (res) return res;
   14592              :                     }
   14593              :                   }
   14594              :                 break;
   14595            0 :               case CFN_COND_AND:
   14596            0 :                 if (call_expr_nargs (_q40) == 4)
   14597              :     {
   14598            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14599            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14600            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14601            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14602            0 :                     {
   14603            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14604            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14605            0 :                       if (res) return res;
   14606              :                     }
   14607              :                   }
   14608              :                 break;
   14609            0 :               case CFN_COND_DIV:
   14610            0 :                 if (call_expr_nargs (_q40) == 4)
   14611              :     {
   14612            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14613            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14614            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14615            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14616            0 :                     {
   14617            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14618            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14619            0 :                       if (res) return res;
   14620              :                     }
   14621              :                   }
   14622              :                 break;
   14623            0 :               case CFN_COND_IOR:
   14624            0 :                 if (call_expr_nargs (_q40) == 4)
   14625              :     {
   14626            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14627            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14628            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14629            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14630            0 :                     {
   14631            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14632            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14633            0 :                       if (res) return res;
   14634              :                     }
   14635              :                   }
   14636              :                 break;
   14637            0 :               case CFN_COND_MAX:
   14638            0 :                 if (call_expr_nargs (_q40) == 4)
   14639              :     {
   14640            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14641            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14642            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14643            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14644            0 :                     {
   14645            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14646            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14647            0 :                       if (res) return res;
   14648              :                     }
   14649              :                   }
   14650              :                 break;
   14651            0 :               case CFN_COND_MIN:
   14652            0 :                 if (call_expr_nargs (_q40) == 4)
   14653              :     {
   14654            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14655            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14656            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14657            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14658            0 :                     {
   14659            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14660            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14661            0 :                       if (res) return res;
   14662              :                     }
   14663              :                   }
   14664              :                 break;
   14665            0 :               case CFN_COND_MOD:
   14666            0 :                 if (call_expr_nargs (_q40) == 4)
   14667              :     {
   14668            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14669            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14670            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14671            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14672            0 :                     {
   14673            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14674            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14675            0 :                       if (res) return res;
   14676              :                     }
   14677              :                   }
   14678              :                 break;
   14679            0 :               case CFN_COND_MUL:
   14680            0 :                 if (call_expr_nargs (_q40) == 4)
   14681              :     {
   14682            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14683            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14684            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14685            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14686            0 :                     {
   14687            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14688            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14689            0 :                       if (res) return res;
   14690              :                     }
   14691              :                   }
   14692              :                 break;
   14693            0 :               case CFN_COND_SHL:
   14694            0 :                 if (call_expr_nargs (_q40) == 4)
   14695              :     {
   14696            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14697            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14698            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14699            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14700            0 :                     {
   14701            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14702            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14703            0 :                       if (res) return res;
   14704              :                     }
   14705              :                   }
   14706              :                 break;
   14707            0 :               case CFN_COND_SHR:
   14708            0 :                 if (call_expr_nargs (_q40) == 4)
   14709              :     {
   14710            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14711            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14712            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14713            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14714            0 :                     {
   14715            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14716            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14717            0 :                       if (res) return res;
   14718              :                     }
   14719              :                   }
   14720              :                 break;
   14721            0 :               case CFN_COND_SUB:
   14722            0 :                 if (call_expr_nargs (_q40) == 4)
   14723              :     {
   14724            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14725            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14726            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14727            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14728            0 :                     {
   14729            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14730            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14731            0 :                       if (res) return res;
   14732              :                     }
   14733              :                   }
   14734              :                 break;
   14735            0 :               case CFN_COND_XOR:
   14736            0 :                 if (call_expr_nargs (_q40) == 4)
   14737              :     {
   14738            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14739            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14740            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14741            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14742            0 :                     {
   14743            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14744            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14745            0 :                       if (res) return res;
   14746              :                     }
   14747              :                   }
   14748              :                 break;
   14749            0 :               case CFN_COND_COPYSIGN:
   14750            0 :                 if (call_expr_nargs (_q40) == 4)
   14751              :     {
   14752            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14753            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14754            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14755            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14756            0 :                     {
   14757            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14758            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14759            0 :                       if (res) return res;
   14760              :                     }
   14761              :                   }
   14762              :                 break;
   14763            0 :               case CFN_COND_FMAX:
   14764            0 :                 if (call_expr_nargs (_q40) == 4)
   14765              :     {
   14766            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14767            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14768            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14769            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14770            0 :                     {
   14771            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14772            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14773            0 :                       if (res) return res;
   14774              :                     }
   14775              :                   }
   14776              :                 break;
   14777            0 :               case CFN_COND_FMIN:
   14778            0 :                 if (call_expr_nargs (_q40) == 4)
   14779              :     {
   14780            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14781            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14782            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14783            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14784            0 :                     {
   14785            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14786            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14787            0 :                       if (res) return res;
   14788              :                     }
   14789              :                   }
   14790              :                 break;
   14791            0 :               case CFN_COND_RDIV:
   14792            0 :                 if (call_expr_nargs (_q40) == 4)
   14793              :     {
   14794            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14795            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14796            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14797            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14798            0 :                     {
   14799            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14800            0 :                       tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14801            0 :                       if (res) return res;
   14802              :                     }
   14803              :                   }
   14804              :                 break;
   14805              :               default:;
   14806              :               }
   14807              :             break;
   14808              :           default:;
   14809              :           }
   14810              :         break;
   14811              :       }
   14812           12 :     case CALL_EXPR:
   14813           12 :       switch (get_call_combined_fn (_p2))
   14814              :         {
   14815            0 :         case CFN_COND_ADD:
   14816            0 :           if (call_expr_nargs (_p2) == 4)
   14817              :     {
   14818            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14819            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14820            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14821            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14822            0 :               {
   14823            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14824            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14825            0 :                 if (res) return res;
   14826              :               }
   14827              :             }
   14828              :           break;
   14829            0 :         case CFN_COND_AND:
   14830            0 :           if (call_expr_nargs (_p2) == 4)
   14831              :     {
   14832            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14833            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14834            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14835            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14836            0 :               {
   14837            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14838            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14839            0 :                 if (res) return res;
   14840              :               }
   14841              :             }
   14842              :           break;
   14843            0 :         case CFN_COND_DIV:
   14844            0 :           if (call_expr_nargs (_p2) == 4)
   14845              :     {
   14846            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14847            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14848            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14849            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14850            0 :               {
   14851            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14852            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14853            0 :                 if (res) return res;
   14854              :               }
   14855              :             }
   14856              :           break;
   14857            0 :         case CFN_COND_IOR:
   14858            0 :           if (call_expr_nargs (_p2) == 4)
   14859              :     {
   14860            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14861            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14862            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14863            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14864            0 :               {
   14865            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14866            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14867            0 :                 if (res) return res;
   14868              :               }
   14869              :             }
   14870              :           break;
   14871            0 :         case CFN_COND_MAX:
   14872            0 :           if (call_expr_nargs (_p2) == 4)
   14873              :     {
   14874            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14875            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14876            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14877            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14878            0 :               {
   14879            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14880            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14881            0 :                 if (res) return res;
   14882              :               }
   14883              :             }
   14884              :           break;
   14885            0 :         case CFN_COND_MIN:
   14886            0 :           if (call_expr_nargs (_p2) == 4)
   14887              :     {
   14888            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14889            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14890            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14891            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14892            0 :               {
   14893            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14894            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14895            0 :                 if (res) return res;
   14896              :               }
   14897              :             }
   14898              :           break;
   14899            0 :         case CFN_COND_MOD:
   14900            0 :           if (call_expr_nargs (_p2) == 4)
   14901              :     {
   14902            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14903            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14904            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14905            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14906            0 :               {
   14907            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14908            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14909            0 :                 if (res) return res;
   14910              :               }
   14911              :             }
   14912              :           break;
   14913            0 :         case CFN_COND_MUL:
   14914            0 :           if (call_expr_nargs (_p2) == 4)
   14915              :     {
   14916            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14917            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14918            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14919            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14920            0 :               {
   14921            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14922            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14923            0 :                 if (res) return res;
   14924              :               }
   14925              :             }
   14926              :           break;
   14927            0 :         case CFN_COND_SHL:
   14928            0 :           if (call_expr_nargs (_p2) == 4)
   14929              :     {
   14930            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14931            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14932            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14933            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14934            0 :               {
   14935            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14936            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14937            0 :                 if (res) return res;
   14938              :               }
   14939              :             }
   14940              :           break;
   14941            0 :         case CFN_COND_SHR:
   14942            0 :           if (call_expr_nargs (_p2) == 4)
   14943              :     {
   14944            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14945            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14946            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14947            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14948            0 :               {
   14949            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14950            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14951            0 :                 if (res) return res;
   14952              :               }
   14953              :             }
   14954              :           break;
   14955            0 :         case CFN_COND_SUB:
   14956            0 :           if (call_expr_nargs (_p2) == 4)
   14957              :     {
   14958            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14959            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14960            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14961            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14962            0 :               {
   14963            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14964            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14965            0 :                 if (res) return res;
   14966              :               }
   14967              :             }
   14968              :           break;
   14969            0 :         case CFN_COND_XOR:
   14970            0 :           if (call_expr_nargs (_p2) == 4)
   14971              :     {
   14972            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14973            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14974            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14975            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14976            0 :               {
   14977            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14978            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14979            0 :                 if (res) return res;
   14980              :               }
   14981              :             }
   14982              :           break;
   14983            0 :         case CFN_COND_COPYSIGN:
   14984            0 :           if (call_expr_nargs (_p2) == 4)
   14985              :     {
   14986            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14987            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14988            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14989            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14990            0 :               {
   14991            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14992            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14993            0 :                 if (res) return res;
   14994              :               }
   14995              :             }
   14996              :           break;
   14997            0 :         case CFN_COND_FMAX:
   14998            0 :           if (call_expr_nargs (_p2) == 4)
   14999              :     {
   15000            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15001            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15002            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15003            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15004            0 :               {
   15005            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15006            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15007            0 :                 if (res) return res;
   15008              :               }
   15009              :             }
   15010              :           break;
   15011            0 :         case CFN_COND_FMIN:
   15012            0 :           if (call_expr_nargs (_p2) == 4)
   15013              :     {
   15014            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15015            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15016            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15017            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15018            0 :               {
   15019            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15020            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15021            0 :                 if (res) return res;
   15022              :               }
   15023              :             }
   15024              :           break;
   15025            0 :         case CFN_COND_RDIV:
   15026            0 :           if (call_expr_nargs (_p2) == 4)
   15027              :     {
   15028            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15029            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15030            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15031            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15032            0 :               {
   15033            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15034            0 :                 tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15035            0 :                 if (res) return res;
   15036              :               }
   15037              :             }
   15038              :           break;
   15039              :         default:;
   15040              :         }
   15041              :       break;
   15042       386006 :     default:;
   15043              :     }
   15044       386006 :   switch (TREE_CODE (_p1))
   15045              :     {
   15046            0 :     case VIEW_CONVERT_EXPR:
   15047            0 :       {
   15048            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15049            0 :         switch (TREE_CODE (_q30))
   15050              :           {
   15051            0 :           case CALL_EXPR:
   15052            0 :             switch (get_call_combined_fn (_q30))
   15053              :               {
   15054            0 :               case CFN_COND_FMA:
   15055            0 :                 if (call_expr_nargs (_q30) == 5)
   15056              :     {
   15057            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15058            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15059            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15060            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15061            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15062            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15063              :                       {
   15064            0 :                         {
   15065            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15066            0 :                           tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15067            0 :                           if (res) return res;
   15068              :                         }
   15069              :                       }
   15070              :                   }
   15071              :                 break;
   15072            0 :               case CFN_COND_FMS:
   15073            0 :                 if (call_expr_nargs (_q30) == 5)
   15074              :     {
   15075            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15076            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15077            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15078            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15079            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15080            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15081              :                       {
   15082            0 :                         {
   15083            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15084            0 :                           tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15085            0 :                           if (res) return res;
   15086              :                         }
   15087              :                       }
   15088              :                   }
   15089              :                 break;
   15090            0 :               case CFN_COND_FNMA:
   15091            0 :                 if (call_expr_nargs (_q30) == 5)
   15092              :     {
   15093            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15094            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15095            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15096            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15097            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15098            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15099              :                       {
   15100            0 :                         {
   15101            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15102            0 :                           tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15103            0 :                           if (res) return res;
   15104              :                         }
   15105              :                       }
   15106              :                   }
   15107              :                 break;
   15108            0 :               case CFN_COND_FNMS:
   15109            0 :                 if (call_expr_nargs (_q30) == 5)
   15110              :     {
   15111            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15112            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15113            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15114            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15115            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15116            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15117              :                       {
   15118            0 :                         {
   15119            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15120            0 :                           tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15121            0 :                           if (res) return res;
   15122              :                         }
   15123              :                       }
   15124              :                   }
   15125              :                 break;
   15126              :               default:;
   15127              :               }
   15128              :             break;
   15129              :           default:;
   15130              :           }
   15131              :         break;
   15132              :       }
   15133           12 :     case CALL_EXPR:
   15134           12 :       switch (get_call_combined_fn (_p1))
   15135              :         {
   15136            0 :         case CFN_COND_FMA:
   15137            0 :           if (call_expr_nargs (_p1) == 5)
   15138              :     {
   15139            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15140            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15141            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15142            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15143            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15144            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15145              :                 {
   15146            0 :                   {
   15147            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15148            0 :                     tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15149            0 :                     if (res) return res;
   15150              :                   }
   15151              :                 }
   15152              :             }
   15153              :           break;
   15154            0 :         case CFN_COND_FMS:
   15155            0 :           if (call_expr_nargs (_p1) == 5)
   15156              :     {
   15157            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15158            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15159            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15160            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15161            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15162            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15163              :                 {
   15164            0 :                   {
   15165            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15166            0 :                     tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15167            0 :                     if (res) return res;
   15168              :                   }
   15169              :                 }
   15170              :             }
   15171              :           break;
   15172            0 :         case CFN_COND_FNMA:
   15173            0 :           if (call_expr_nargs (_p1) == 5)
   15174              :     {
   15175            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15176            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15177            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15178            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15179            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15180            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15181              :                 {
   15182            0 :                   {
   15183            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15184            0 :                     tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15185            0 :                     if (res) return res;
   15186              :                   }
   15187              :                 }
   15188              :             }
   15189              :           break;
   15190            0 :         case CFN_COND_FNMS:
   15191            0 :           if (call_expr_nargs (_p1) == 5)
   15192              :     {
   15193            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15194            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15195            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15196            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15197            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15198            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15199              :                 {
   15200            0 :                   {
   15201            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15202            0 :                     tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15203            0 :                     if (res) return res;
   15204              :                   }
   15205              :                 }
   15206              :             }
   15207              :           break;
   15208              :         default:;
   15209              :         }
   15210              :       break;
   15211       386006 :     default:;
   15212              :     }
   15213       386006 :   switch (TREE_CODE (_p2))
   15214              :     {
   15215            0 :     case VIEW_CONVERT_EXPR:
   15216            0 :       {
   15217            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15218            0 :         switch (TREE_CODE (_q40))
   15219              :           {
   15220            0 :           case CALL_EXPR:
   15221            0 :             switch (get_call_combined_fn (_q40))
   15222              :               {
   15223            0 :               case CFN_COND_FMA:
   15224            0 :                 if (call_expr_nargs (_q40) == 5)
   15225              :     {
   15226            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15227            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15228            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15229            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15230            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15231            0 :                     {
   15232            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15233            0 :                       tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15234            0 :                       if (res) return res;
   15235              :                     }
   15236              :                   }
   15237              :                 break;
   15238            0 :               case CFN_COND_FMS:
   15239            0 :                 if (call_expr_nargs (_q40) == 5)
   15240              :     {
   15241            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15242            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15243            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15244            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15245            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15246            0 :                     {
   15247            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15248            0 :                       tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15249            0 :                       if (res) return res;
   15250              :                     }
   15251              :                   }
   15252              :                 break;
   15253            0 :               case CFN_COND_FNMA:
   15254            0 :                 if (call_expr_nargs (_q40) == 5)
   15255              :     {
   15256            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15257            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15258            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15259            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15260            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15261            0 :                     {
   15262            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15263            0 :                       tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15264            0 :                       if (res) return res;
   15265              :                     }
   15266              :                   }
   15267              :                 break;
   15268            0 :               case CFN_COND_FNMS:
   15269            0 :                 if (call_expr_nargs (_q40) == 5)
   15270              :     {
   15271            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15272            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15273            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15274            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15275            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15276            0 :                     {
   15277            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15278            0 :                       tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15279            0 :                       if (res) return res;
   15280              :                     }
   15281              :                   }
   15282              :                 break;
   15283              :               default:;
   15284              :               }
   15285              :             break;
   15286              :           default:;
   15287              :           }
   15288              :         break;
   15289              :       }
   15290           12 :     case CALL_EXPR:
   15291           12 :       switch (get_call_combined_fn (_p2))
   15292              :         {
   15293            0 :         case CFN_COND_FMA:
   15294            0 :           if (call_expr_nargs (_p2) == 5)
   15295              :     {
   15296            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15297            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15298            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15299            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15300            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15301            0 :               {
   15302            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15303            0 :                 tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15304            0 :                 if (res) return res;
   15305              :               }
   15306              :             }
   15307              :           break;
   15308            0 :         case CFN_COND_FMS:
   15309            0 :           if (call_expr_nargs (_p2) == 5)
   15310              :     {
   15311            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15312            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15313            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15314            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15315            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15316            0 :               {
   15317            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15318            0 :                 tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15319            0 :                 if (res) return res;
   15320              :               }
   15321              :             }
   15322              :           break;
   15323            0 :         case CFN_COND_FNMA:
   15324            0 :           if (call_expr_nargs (_p2) == 5)
   15325              :     {
   15326            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15327            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15328            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15329            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15330            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15331            0 :               {
   15332            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15333            0 :                 tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15334            0 :                 if (res) return res;
   15335              :               }
   15336              :             }
   15337              :           break;
   15338            0 :         case CFN_COND_FNMS:
   15339            0 :           if (call_expr_nargs (_p2) == 5)
   15340              :     {
   15341            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15342            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15343            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15344            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15345            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15346            0 :               {
   15347            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15348            0 :                 tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15349            0 :                 if (res) return res;
   15350              :               }
   15351              :             }
   15352              :           break;
   15353              :         default:;
   15354              :         }
   15355              :       break;
   15356       386006 :     default:;
   15357              :     }
   15358       386006 :   switch (TREE_CODE (_p1))
   15359              :     {
   15360            0 :     case VIEW_CONVERT_EXPR:
   15361            0 :       {
   15362            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15363            0 :         switch (TREE_CODE (_q30))
   15364              :           {
   15365            0 :           case CALL_EXPR:
   15366            0 :             switch (get_call_combined_fn (_q30))
   15367              :               {
   15368            0 :               case CFN_COND_LEN_ADD:
   15369            0 :                 if (call_expr_nargs (_q30) == 6)
   15370              :     {
   15371            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15372            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15373            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15374            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15375            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15376            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15377            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15378              :                       {
   15379            0 :                         {
   15380            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15381            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15382            0 :                           if (res) return res;
   15383              :                         }
   15384              :                       }
   15385              :                   }
   15386              :                 break;
   15387            0 :               case CFN_COND_LEN_AND:
   15388            0 :                 if (call_expr_nargs (_q30) == 6)
   15389              :     {
   15390            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15391            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15392            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15393            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15394            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15395            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15396            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15397              :                       {
   15398            0 :                         {
   15399            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15400            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15401            0 :                           if (res) return res;
   15402              :                         }
   15403              :                       }
   15404              :                   }
   15405              :                 break;
   15406            0 :               case CFN_COND_LEN_DIV:
   15407            0 :                 if (call_expr_nargs (_q30) == 6)
   15408              :     {
   15409            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15410            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15411            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15412            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15413            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15414            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15415            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15416              :                       {
   15417            0 :                         {
   15418            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15419            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15420            0 :                           if (res) return res;
   15421              :                         }
   15422              :                       }
   15423              :                   }
   15424              :                 break;
   15425            0 :               case CFN_COND_LEN_IOR:
   15426            0 :                 if (call_expr_nargs (_q30) == 6)
   15427              :     {
   15428            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15429            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15430            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15431            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15432            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15433            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15434            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15435              :                       {
   15436            0 :                         {
   15437            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15438            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15439            0 :                           if (res) return res;
   15440              :                         }
   15441              :                       }
   15442              :                   }
   15443              :                 break;
   15444            0 :               case CFN_COND_LEN_MAX:
   15445            0 :                 if (call_expr_nargs (_q30) == 6)
   15446              :     {
   15447            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15448            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15449            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15450            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15451            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15452            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15453            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15454              :                       {
   15455            0 :                         {
   15456            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15457            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15458            0 :                           if (res) return res;
   15459              :                         }
   15460              :                       }
   15461              :                   }
   15462              :                 break;
   15463            0 :               case CFN_COND_LEN_MIN:
   15464            0 :                 if (call_expr_nargs (_q30) == 6)
   15465              :     {
   15466            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15467            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15468            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15469            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15470            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15471            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15472            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15473              :                       {
   15474            0 :                         {
   15475            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15476            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15477            0 :                           if (res) return res;
   15478              :                         }
   15479              :                       }
   15480              :                   }
   15481              :                 break;
   15482            0 :               case CFN_COND_LEN_MOD:
   15483            0 :                 if (call_expr_nargs (_q30) == 6)
   15484              :     {
   15485            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15486            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15487            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15488            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15489            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15490            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15491            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15492              :                       {
   15493            0 :                         {
   15494            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15495            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15496            0 :                           if (res) return res;
   15497              :                         }
   15498              :                       }
   15499              :                   }
   15500              :                 break;
   15501            0 :               case CFN_COND_LEN_MUL:
   15502            0 :                 if (call_expr_nargs (_q30) == 6)
   15503              :     {
   15504            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15505            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15506            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15507            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15508            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15509            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15510            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15511              :                       {
   15512            0 :                         {
   15513            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15514            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15515            0 :                           if (res) return res;
   15516              :                         }
   15517              :                       }
   15518              :                   }
   15519              :                 break;
   15520            0 :               case CFN_COND_LEN_SHL:
   15521            0 :                 if (call_expr_nargs (_q30) == 6)
   15522              :     {
   15523            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15524            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15525            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15526            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15527            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15528            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15529            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15530              :                       {
   15531            0 :                         {
   15532            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15533            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15534            0 :                           if (res) return res;
   15535              :                         }
   15536              :                       }
   15537              :                   }
   15538              :                 break;
   15539            0 :               case CFN_COND_LEN_SHR:
   15540            0 :                 if (call_expr_nargs (_q30) == 6)
   15541              :     {
   15542            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15543            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15544            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15545            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15546            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15547            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15548            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15549              :                       {
   15550            0 :                         {
   15551            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15552            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15553            0 :                           if (res) return res;
   15554              :                         }
   15555              :                       }
   15556              :                   }
   15557              :                 break;
   15558            0 :               case CFN_COND_LEN_SUB:
   15559            0 :                 if (call_expr_nargs (_q30) == 6)
   15560              :     {
   15561            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15562            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15563            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15564            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15565            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15566            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15567            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15568              :                       {
   15569            0 :                         {
   15570            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15571            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15572            0 :                           if (res) return res;
   15573              :                         }
   15574              :                       }
   15575              :                   }
   15576              :                 break;
   15577            0 :               case CFN_COND_LEN_XOR:
   15578            0 :                 if (call_expr_nargs (_q30) == 6)
   15579              :     {
   15580            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15581            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15582            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15583            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15584            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15585            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15586            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15587              :                       {
   15588            0 :                         {
   15589            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15590            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15591            0 :                           if (res) return res;
   15592              :                         }
   15593              :                       }
   15594              :                   }
   15595              :                 break;
   15596            0 :               case CFN_COND_LEN_FMAX:
   15597            0 :                 if (call_expr_nargs (_q30) == 6)
   15598              :     {
   15599            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15600            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15601            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15602            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15603            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15604            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15605            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15606              :                       {
   15607            0 :                         {
   15608            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15609            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15610            0 :                           if (res) return res;
   15611              :                         }
   15612              :                       }
   15613              :                   }
   15614              :                 break;
   15615            0 :               case CFN_COND_LEN_FMIN:
   15616            0 :                 if (call_expr_nargs (_q30) == 6)
   15617              :     {
   15618            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15619            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15620            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15621            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15622            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15623            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15624            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15625              :                       {
   15626            0 :                         {
   15627            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15628            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15629            0 :                           if (res) return res;
   15630              :                         }
   15631              :                       }
   15632              :                   }
   15633              :                 break;
   15634            0 :               case CFN_COND_LEN_RDIV:
   15635            0 :                 if (call_expr_nargs (_q30) == 6)
   15636              :     {
   15637            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15638            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15639            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15640            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15641            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15642            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15643            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15644              :                       {
   15645            0 :                         {
   15646            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15647            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15648            0 :                           if (res) return res;
   15649              :                         }
   15650              :                       }
   15651              :                   }
   15652              :                 break;
   15653            0 :               case CFN_COND_LEN_COPYSIGN:
   15654            0 :                 if (call_expr_nargs (_q30) == 6)
   15655              :     {
   15656            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15657            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15658            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15659            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15660            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15661            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15662            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15663              :                       {
   15664            0 :                         {
   15665            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15666            0 :                           tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15667            0 :                           if (res) return res;
   15668              :                         }
   15669              :                       }
   15670              :                   }
   15671              :                 break;
   15672              :               default:;
   15673              :               }
   15674              :             break;
   15675              :           default:;
   15676              :           }
   15677              :         break;
   15678              :       }
   15679           12 :     case CALL_EXPR:
   15680           12 :       switch (get_call_combined_fn (_p1))
   15681              :         {
   15682            0 :         case CFN_COND_LEN_ADD:
   15683            0 :           if (call_expr_nargs (_p1) == 6)
   15684              :     {
   15685            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15686            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15687            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15688            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15689            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15690            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15691            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15692              :                 {
   15693            0 :                   {
   15694            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15695            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15696            0 :                     if (res) return res;
   15697              :                   }
   15698              :                 }
   15699              :             }
   15700              :           break;
   15701            0 :         case CFN_COND_LEN_AND:
   15702            0 :           if (call_expr_nargs (_p1) == 6)
   15703              :     {
   15704            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15705            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15706            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15707            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15708            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15709            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15710            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15711              :                 {
   15712            0 :                   {
   15713            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15714            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15715            0 :                     if (res) return res;
   15716              :                   }
   15717              :                 }
   15718              :             }
   15719              :           break;
   15720            0 :         case CFN_COND_LEN_DIV:
   15721            0 :           if (call_expr_nargs (_p1) == 6)
   15722              :     {
   15723            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15724            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15725            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15726            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15727            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15728            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15729            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15730              :                 {
   15731            0 :                   {
   15732            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15733            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15734            0 :                     if (res) return res;
   15735              :                   }
   15736              :                 }
   15737              :             }
   15738              :           break;
   15739            0 :         case CFN_COND_LEN_IOR:
   15740            0 :           if (call_expr_nargs (_p1) == 6)
   15741              :     {
   15742            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15743            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15744            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15745            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15746            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15747            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15748            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15749              :                 {
   15750            0 :                   {
   15751            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15752            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15753            0 :                     if (res) return res;
   15754              :                   }
   15755              :                 }
   15756              :             }
   15757              :           break;
   15758            0 :         case CFN_COND_LEN_MAX:
   15759            0 :           if (call_expr_nargs (_p1) == 6)
   15760              :     {
   15761            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15762            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15763            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15764            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15765            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15766            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15767            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15768              :                 {
   15769            0 :                   {
   15770            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15771            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15772            0 :                     if (res) return res;
   15773              :                   }
   15774              :                 }
   15775              :             }
   15776              :           break;
   15777            0 :         case CFN_COND_LEN_MIN:
   15778            0 :           if (call_expr_nargs (_p1) == 6)
   15779              :     {
   15780            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15781            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15782            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15783            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15784            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15785            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15786            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15787              :                 {
   15788            0 :                   {
   15789            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15790            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15791            0 :                     if (res) return res;
   15792              :                   }
   15793              :                 }
   15794              :             }
   15795              :           break;
   15796            0 :         case CFN_COND_LEN_MOD:
   15797            0 :           if (call_expr_nargs (_p1) == 6)
   15798              :     {
   15799            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15800            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15801            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15802            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15803            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15804            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15805            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15806              :                 {
   15807            0 :                   {
   15808            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15809            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15810            0 :                     if (res) return res;
   15811              :                   }
   15812              :                 }
   15813              :             }
   15814              :           break;
   15815            0 :         case CFN_COND_LEN_MUL:
   15816            0 :           if (call_expr_nargs (_p1) == 6)
   15817              :     {
   15818            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15819            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15820            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15821            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15822            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15823            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15824            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15825              :                 {
   15826            0 :                   {
   15827            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15828            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15829            0 :                     if (res) return res;
   15830              :                   }
   15831              :                 }
   15832              :             }
   15833              :           break;
   15834            0 :         case CFN_COND_LEN_SHL:
   15835            0 :           if (call_expr_nargs (_p1) == 6)
   15836              :     {
   15837            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15838            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15839            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15840            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15841            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15842            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15843            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15844              :                 {
   15845            0 :                   {
   15846            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15847            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15848            0 :                     if (res) return res;
   15849              :                   }
   15850              :                 }
   15851              :             }
   15852              :           break;
   15853            0 :         case CFN_COND_LEN_SHR:
   15854            0 :           if (call_expr_nargs (_p1) == 6)
   15855              :     {
   15856            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15857            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15858            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15859            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15860            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15861            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15862            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15863              :                 {
   15864            0 :                   {
   15865            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15866            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15867            0 :                     if (res) return res;
   15868              :                   }
   15869              :                 }
   15870              :             }
   15871              :           break;
   15872            0 :         case CFN_COND_LEN_SUB:
   15873            0 :           if (call_expr_nargs (_p1) == 6)
   15874              :     {
   15875            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15876            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15877            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15878            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15879            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15880            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15881            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15882              :                 {
   15883            0 :                   {
   15884            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15885            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15886            0 :                     if (res) return res;
   15887              :                   }
   15888              :                 }
   15889              :             }
   15890              :           break;
   15891            0 :         case CFN_COND_LEN_XOR:
   15892            0 :           if (call_expr_nargs (_p1) == 6)
   15893              :     {
   15894            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15895            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15896            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15897            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15898            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15899            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15900            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15901              :                 {
   15902            0 :                   {
   15903            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15904            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15905            0 :                     if (res) return res;
   15906              :                   }
   15907              :                 }
   15908              :             }
   15909              :           break;
   15910            0 :         case CFN_COND_LEN_FMAX:
   15911            0 :           if (call_expr_nargs (_p1) == 6)
   15912              :     {
   15913            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15914            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15915            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15916            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15917            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15918            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15919            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15920              :                 {
   15921            0 :                   {
   15922            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15923            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15924            0 :                     if (res) return res;
   15925              :                   }
   15926              :                 }
   15927              :             }
   15928              :           break;
   15929            0 :         case CFN_COND_LEN_FMIN:
   15930            0 :           if (call_expr_nargs (_p1) == 6)
   15931              :     {
   15932            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15933            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15934            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15935            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15936            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15937            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15938            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15939              :                 {
   15940            0 :                   {
   15941            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15942            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15943            0 :                     if (res) return res;
   15944              :                   }
   15945              :                 }
   15946              :             }
   15947              :           break;
   15948            0 :         case CFN_COND_LEN_RDIV:
   15949            0 :           if (call_expr_nargs (_p1) == 6)
   15950              :     {
   15951            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15952            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15953            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15954            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15955            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15956            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15957            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15958              :                 {
   15959            0 :                   {
   15960            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15961            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15962            0 :                     if (res) return res;
   15963              :                   }
   15964              :                 }
   15965              :             }
   15966              :           break;
   15967            0 :         case CFN_COND_LEN_COPYSIGN:
   15968            0 :           if (call_expr_nargs (_p1) == 6)
   15969              :     {
   15970            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15971            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15972            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15973            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15974            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15975            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15976            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15977              :                 {
   15978            0 :                   {
   15979            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15980            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15981            0 :                     if (res) return res;
   15982              :                   }
   15983              :                 }
   15984              :             }
   15985              :           break;
   15986              :         default:;
   15987              :         }
   15988              :       break;
   15989       386006 :     default:;
   15990              :     }
   15991       386006 :   switch (TREE_CODE (_p2))
   15992              :     {
   15993            0 :     case VIEW_CONVERT_EXPR:
   15994            0 :       {
   15995            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15996            0 :         switch (TREE_CODE (_q40))
   15997              :           {
   15998            0 :           case CALL_EXPR:
   15999            0 :             switch (get_call_combined_fn (_q40))
   16000              :               {
   16001            0 :               case CFN_COND_LEN_ADD:
   16002            0 :                 if (call_expr_nargs (_q40) == 6)
   16003              :     {
   16004            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16005            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16006            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16007            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16008            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16009            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16010            0 :                     {
   16011            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16012            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16013            0 :                       if (res) return res;
   16014              :                     }
   16015              :                   }
   16016              :                 break;
   16017            0 :               case CFN_COND_LEN_AND:
   16018            0 :                 if (call_expr_nargs (_q40) == 6)
   16019              :     {
   16020            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16021            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16022            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16023            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16024            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16025            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16026            0 :                     {
   16027            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16028            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16029            0 :                       if (res) return res;
   16030              :                     }
   16031              :                   }
   16032              :                 break;
   16033            0 :               case CFN_COND_LEN_DIV:
   16034            0 :                 if (call_expr_nargs (_q40) == 6)
   16035              :     {
   16036            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16037            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16038            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16039            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16040            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16041            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16042            0 :                     {
   16043            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16044            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16045            0 :                       if (res) return res;
   16046              :                     }
   16047              :                   }
   16048              :                 break;
   16049            0 :               case CFN_COND_LEN_IOR:
   16050            0 :                 if (call_expr_nargs (_q40) == 6)
   16051              :     {
   16052            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16053            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16054            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16055            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16056            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16057            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16058            0 :                     {
   16059            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16060            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16061            0 :                       if (res) return res;
   16062              :                     }
   16063              :                   }
   16064              :                 break;
   16065            0 :               case CFN_COND_LEN_MAX:
   16066            0 :                 if (call_expr_nargs (_q40) == 6)
   16067              :     {
   16068            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16069            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16070            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16071            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16072            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16073            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16074            0 :                     {
   16075            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16076            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16077            0 :                       if (res) return res;
   16078              :                     }
   16079              :                   }
   16080              :                 break;
   16081            0 :               case CFN_COND_LEN_MIN:
   16082            0 :                 if (call_expr_nargs (_q40) == 6)
   16083              :     {
   16084            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16085            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16086            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16087            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16088            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16089            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16090            0 :                     {
   16091            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16092            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16093            0 :                       if (res) return res;
   16094              :                     }
   16095              :                   }
   16096              :                 break;
   16097            0 :               case CFN_COND_LEN_MOD:
   16098            0 :                 if (call_expr_nargs (_q40) == 6)
   16099              :     {
   16100            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16101            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16102            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16103            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16104            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16105            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16106            0 :                     {
   16107            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16108            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16109            0 :                       if (res) return res;
   16110              :                     }
   16111              :                   }
   16112              :                 break;
   16113            0 :               case CFN_COND_LEN_MUL:
   16114            0 :                 if (call_expr_nargs (_q40) == 6)
   16115              :     {
   16116            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16117            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16118            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16119            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16120            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16121            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16122            0 :                     {
   16123            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16124            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16125            0 :                       if (res) return res;
   16126              :                     }
   16127              :                   }
   16128              :                 break;
   16129            0 :               case CFN_COND_LEN_SHL:
   16130            0 :                 if (call_expr_nargs (_q40) == 6)
   16131              :     {
   16132            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16133            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16134            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16135            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16136            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16137            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16138            0 :                     {
   16139            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16140            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16141            0 :                       if (res) return res;
   16142              :                     }
   16143              :                   }
   16144              :                 break;
   16145            0 :               case CFN_COND_LEN_SHR:
   16146            0 :                 if (call_expr_nargs (_q40) == 6)
   16147              :     {
   16148            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16149            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16150            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16151            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16152            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16153            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16154            0 :                     {
   16155            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16156            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16157            0 :                       if (res) return res;
   16158              :                     }
   16159              :                   }
   16160              :                 break;
   16161            0 :               case CFN_COND_LEN_SUB:
   16162            0 :                 if (call_expr_nargs (_q40) == 6)
   16163              :     {
   16164            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16165            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16166            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16167            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16168            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16169            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16170            0 :                     {
   16171            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16172            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16173            0 :                       if (res) return res;
   16174              :                     }
   16175              :                   }
   16176              :                 break;
   16177            0 :               case CFN_COND_LEN_XOR:
   16178            0 :                 if (call_expr_nargs (_q40) == 6)
   16179              :     {
   16180            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16181            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16182            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16183            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16184            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16185            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16186            0 :                     {
   16187            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16188            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16189            0 :                       if (res) return res;
   16190              :                     }
   16191              :                   }
   16192              :                 break;
   16193            0 :               case CFN_COND_LEN_FMAX:
   16194            0 :                 if (call_expr_nargs (_q40) == 6)
   16195              :     {
   16196            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16197            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16198            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16199            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16200            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16201            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16202            0 :                     {
   16203            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16204            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16205            0 :                       if (res) return res;
   16206              :                     }
   16207              :                   }
   16208              :                 break;
   16209            0 :               case CFN_COND_LEN_FMIN:
   16210            0 :                 if (call_expr_nargs (_q40) == 6)
   16211              :     {
   16212            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16213            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16214            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16215            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16216            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16217            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16218            0 :                     {
   16219            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16220            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16221            0 :                       if (res) return res;
   16222              :                     }
   16223              :                   }
   16224              :                 break;
   16225            0 :               case CFN_COND_LEN_RDIV:
   16226            0 :                 if (call_expr_nargs (_q40) == 6)
   16227              :     {
   16228            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16229            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16230            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16231            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16232            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16233            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16234            0 :                     {
   16235            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16236            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16237            0 :                       if (res) return res;
   16238              :                     }
   16239              :                   }
   16240              :                 break;
   16241            0 :               case CFN_COND_LEN_COPYSIGN:
   16242            0 :                 if (call_expr_nargs (_q40) == 6)
   16243              :     {
   16244            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16245            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16246            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16247            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16248            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16249            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16250            0 :                     {
   16251            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16252            0 :                       tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16253            0 :                       if (res) return res;
   16254              :                     }
   16255              :                   }
   16256              :                 break;
   16257              :               default:;
   16258              :               }
   16259              :             break;
   16260              :           default:;
   16261              :           }
   16262              :         break;
   16263              :       }
   16264           12 :     case CALL_EXPR:
   16265           12 :       switch (get_call_combined_fn (_p2))
   16266              :         {
   16267            0 :         case CFN_COND_LEN_ADD:
   16268            0 :           if (call_expr_nargs (_p2) == 6)
   16269              :     {
   16270            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16271            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16272            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16273            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16274            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16275            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16276            0 :               {
   16277            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16278            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16279            0 :                 if (res) return res;
   16280              :               }
   16281              :             }
   16282              :           break;
   16283            0 :         case CFN_COND_LEN_AND:
   16284            0 :           if (call_expr_nargs (_p2) == 6)
   16285              :     {
   16286            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16287            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16288            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16289            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16290            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16291            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16292            0 :               {
   16293            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16294            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16295            0 :                 if (res) return res;
   16296              :               }
   16297              :             }
   16298              :           break;
   16299            0 :         case CFN_COND_LEN_DIV:
   16300            0 :           if (call_expr_nargs (_p2) == 6)
   16301              :     {
   16302            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16303            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16304            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16305            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16306            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16307            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16308            0 :               {
   16309            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16310            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16311            0 :                 if (res) return res;
   16312              :               }
   16313              :             }
   16314              :           break;
   16315            0 :         case CFN_COND_LEN_IOR:
   16316            0 :           if (call_expr_nargs (_p2) == 6)
   16317              :     {
   16318            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16319            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16320            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16321            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16322            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16323            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16324            0 :               {
   16325            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16326            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16327            0 :                 if (res) return res;
   16328              :               }
   16329              :             }
   16330              :           break;
   16331            0 :         case CFN_COND_LEN_MAX:
   16332            0 :           if (call_expr_nargs (_p2) == 6)
   16333              :     {
   16334            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16335            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16336            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16337            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16338            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16339            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16340            0 :               {
   16341            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16342            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16343            0 :                 if (res) return res;
   16344              :               }
   16345              :             }
   16346              :           break;
   16347            0 :         case CFN_COND_LEN_MIN:
   16348            0 :           if (call_expr_nargs (_p2) == 6)
   16349              :     {
   16350            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16351            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16352            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16353            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16354            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16355            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16356            0 :               {
   16357            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16358            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16359            0 :                 if (res) return res;
   16360              :               }
   16361              :             }
   16362              :           break;
   16363            0 :         case CFN_COND_LEN_MOD:
   16364            0 :           if (call_expr_nargs (_p2) == 6)
   16365              :     {
   16366            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16367            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16368            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16369            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16370            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16371            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16372            0 :               {
   16373            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16374            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16375            0 :                 if (res) return res;
   16376              :               }
   16377              :             }
   16378              :           break;
   16379            0 :         case CFN_COND_LEN_MUL:
   16380            0 :           if (call_expr_nargs (_p2) == 6)
   16381              :     {
   16382            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16383            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16384            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16385            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16386            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16387            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16388            0 :               {
   16389            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16390            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16391            0 :                 if (res) return res;
   16392              :               }
   16393              :             }
   16394              :           break;
   16395            0 :         case CFN_COND_LEN_SHL:
   16396            0 :           if (call_expr_nargs (_p2) == 6)
   16397              :     {
   16398            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16399            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16400            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16401            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16402            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16403            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16404            0 :               {
   16405            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16406            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16407            0 :                 if (res) return res;
   16408              :               }
   16409              :             }
   16410              :           break;
   16411            0 :         case CFN_COND_LEN_SHR:
   16412            0 :           if (call_expr_nargs (_p2) == 6)
   16413              :     {
   16414            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16415            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16416            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16417            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16418            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16419            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16420            0 :               {
   16421            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16422            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16423            0 :                 if (res) return res;
   16424              :               }
   16425              :             }
   16426              :           break;
   16427            0 :         case CFN_COND_LEN_SUB:
   16428            0 :           if (call_expr_nargs (_p2) == 6)
   16429              :     {
   16430            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16431            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16432            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16433            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16434            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16435            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16436            0 :               {
   16437            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16438            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16439            0 :                 if (res) return res;
   16440              :               }
   16441              :             }
   16442              :           break;
   16443            0 :         case CFN_COND_LEN_XOR:
   16444            0 :           if (call_expr_nargs (_p2) == 6)
   16445              :     {
   16446            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16447            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16448            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16449            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16450            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16451            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16452            0 :               {
   16453            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16454            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16455            0 :                 if (res) return res;
   16456              :               }
   16457              :             }
   16458              :           break;
   16459            0 :         case CFN_COND_LEN_FMAX:
   16460            0 :           if (call_expr_nargs (_p2) == 6)
   16461              :     {
   16462            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16463            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16464            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16465            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16466            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16467            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16468            0 :               {
   16469            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16470            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16471            0 :                 if (res) return res;
   16472              :               }
   16473              :             }
   16474              :           break;
   16475            0 :         case CFN_COND_LEN_FMIN:
   16476            0 :           if (call_expr_nargs (_p2) == 6)
   16477              :     {
   16478            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16479            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16480            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16481            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16482            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16483            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16484            0 :               {
   16485            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16486            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16487            0 :                 if (res) return res;
   16488              :               }
   16489              :             }
   16490              :           break;
   16491            0 :         case CFN_COND_LEN_RDIV:
   16492            0 :           if (call_expr_nargs (_p2) == 6)
   16493              :     {
   16494            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16495            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16496            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16497            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16498            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16499            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16500            0 :               {
   16501            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16502            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16503            0 :                 if (res) return res;
   16504              :               }
   16505              :             }
   16506              :           break;
   16507            0 :         case CFN_COND_LEN_COPYSIGN:
   16508            0 :           if (call_expr_nargs (_p2) == 6)
   16509              :     {
   16510            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16511            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16512            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16513            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16514            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16515            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16516            0 :               {
   16517            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16518            0 :                 tree res = generic_simplify_549 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16519            0 :                 if (res) return res;
   16520              :               }
   16521              :             }
   16522              :           break;
   16523              :         default:;
   16524              :         }
   16525              :       break;
   16526       386006 :     default:;
   16527              :     }
   16528       386006 :   switch (TREE_CODE (_p1))
   16529              :     {
   16530            0 :     case VIEW_CONVERT_EXPR:
   16531            0 :       {
   16532            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16533            0 :         switch (TREE_CODE (_q30))
   16534              :           {
   16535            0 :           case CALL_EXPR:
   16536            0 :             switch (get_call_combined_fn (_q30))
   16537              :               {
   16538            0 :               case CFN_COND_LEN_FMA:
   16539            0 :                 if (call_expr_nargs (_q30) == 7)
   16540              :     {
   16541            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16542            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16543            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16544            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16545            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16546            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16547            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16548            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16549              :                       {
   16550            0 :                         {
   16551            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16552            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16553            0 :                           if (res) return res;
   16554              :                         }
   16555              :                       }
   16556              :                   }
   16557              :                 break;
   16558            0 :               case CFN_COND_LEN_FMS:
   16559            0 :                 if (call_expr_nargs (_q30) == 7)
   16560              :     {
   16561            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16562            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16563            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16564            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16565            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16566            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16567            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16568            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16569              :                       {
   16570            0 :                         {
   16571            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16572            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16573            0 :                           if (res) return res;
   16574              :                         }
   16575              :                       }
   16576              :                   }
   16577              :                 break;
   16578            0 :               case CFN_COND_LEN_FNMA:
   16579            0 :                 if (call_expr_nargs (_q30) == 7)
   16580              :     {
   16581            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16582            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16583            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16584            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16585            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16586            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16587            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16588            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16589              :                       {
   16590            0 :                         {
   16591            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16592            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16593            0 :                           if (res) return res;
   16594              :                         }
   16595              :                       }
   16596              :                   }
   16597              :                 break;
   16598            0 :               case CFN_COND_LEN_FNMS:
   16599            0 :                 if (call_expr_nargs (_q30) == 7)
   16600              :     {
   16601            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16602            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16603            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16604            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16605            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16606            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16607            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16608            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16609              :                       {
   16610            0 :                         {
   16611            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16612            0 :                           tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16613            0 :                           if (res) return res;
   16614              :                         }
   16615              :                       }
   16616              :                   }
   16617              :                 break;
   16618              :               default:;
   16619              :               }
   16620              :             break;
   16621              :           default:;
   16622              :           }
   16623              :         break;
   16624              :       }
   16625           12 :     case CALL_EXPR:
   16626           12 :       switch (get_call_combined_fn (_p1))
   16627              :         {
   16628            0 :         case CFN_COND_LEN_FMA:
   16629            0 :           if (call_expr_nargs (_p1) == 7)
   16630              :     {
   16631            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16632            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16633            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16634            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16635            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16636            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16637            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16638            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16639              :                 {
   16640            0 :                   {
   16641            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16642            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16643            0 :                     if (res) return res;
   16644              :                   }
   16645              :                 }
   16646              :             }
   16647              :           break;
   16648            0 :         case CFN_COND_LEN_FMS:
   16649            0 :           if (call_expr_nargs (_p1) == 7)
   16650              :     {
   16651            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16652            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16653            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16654            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16655            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16656            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16657            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16658            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16659              :                 {
   16660            0 :                   {
   16661            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16662            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16663            0 :                     if (res) return res;
   16664              :                   }
   16665              :                 }
   16666              :             }
   16667              :           break;
   16668            0 :         case CFN_COND_LEN_FNMA:
   16669            0 :           if (call_expr_nargs (_p1) == 7)
   16670              :     {
   16671            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16672            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16673            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16674            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16675            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16676            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16677            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16678            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16679              :                 {
   16680            0 :                   {
   16681            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16682            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16683            0 :                     if (res) return res;
   16684              :                   }
   16685              :                 }
   16686              :             }
   16687              :           break;
   16688            0 :         case CFN_COND_LEN_FNMS:
   16689            0 :           if (call_expr_nargs (_p1) == 7)
   16690              :     {
   16691            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16692            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16693            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16694            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16695            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16696            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16697            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16698            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16699              :                 {
   16700            0 :                   {
   16701            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16702            0 :                     tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16703            0 :                     if (res) return res;
   16704              :                   }
   16705              :                 }
   16706              :             }
   16707              :           break;
   16708              :         default:;
   16709              :         }
   16710              :       break;
   16711       386006 :     default:;
   16712              :     }
   16713       386006 :   switch (TREE_CODE (_p2))
   16714              :     {
   16715            0 :     case VIEW_CONVERT_EXPR:
   16716            0 :       {
   16717            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16718            0 :         switch (TREE_CODE (_q40))
   16719              :           {
   16720            0 :           case CALL_EXPR:
   16721            0 :             switch (get_call_combined_fn (_q40))
   16722              :               {
   16723            0 :               case CFN_COND_LEN_FMA:
   16724            0 :                 if (call_expr_nargs (_q40) == 7)
   16725              :     {
   16726            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16727            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16728            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16729            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16730            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16731            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16732            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16733            0 :                     {
   16734            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16735            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16736            0 :                       if (res) return res;
   16737              :                     }
   16738              :                   }
   16739              :                 break;
   16740            0 :               case CFN_COND_LEN_FMS:
   16741            0 :                 if (call_expr_nargs (_q40) == 7)
   16742              :     {
   16743            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16744            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16745            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16746            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16747            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16748            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16749            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16750            0 :                     {
   16751            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16752            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16753            0 :                       if (res) return res;
   16754              :                     }
   16755              :                   }
   16756              :                 break;
   16757            0 :               case CFN_COND_LEN_FNMA:
   16758            0 :                 if (call_expr_nargs (_q40) == 7)
   16759              :     {
   16760            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16761            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16762            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16763            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16764            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16765            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16766            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16767            0 :                     {
   16768            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16769            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16770            0 :                       if (res) return res;
   16771              :                     }
   16772              :                   }
   16773              :                 break;
   16774            0 :               case CFN_COND_LEN_FNMS:
   16775            0 :                 if (call_expr_nargs (_q40) == 7)
   16776              :     {
   16777            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16778            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16779            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16780            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16781            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16782            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16783            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16784            0 :                     {
   16785            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16786            0 :                       tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16787            0 :                       if (res) return res;
   16788              :                     }
   16789              :                   }
   16790              :                 break;
   16791              :               default:;
   16792              :               }
   16793              :             break;
   16794              :           default:;
   16795              :           }
   16796              :         break;
   16797              :       }
   16798           12 :     case CALL_EXPR:
   16799           12 :       switch (get_call_combined_fn (_p2))
   16800              :         {
   16801            0 :         case CFN_COND_LEN_FMA:
   16802            0 :           if (call_expr_nargs (_p2) == 7)
   16803              :     {
   16804            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16805            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16806            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16807            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16808            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16809            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16810            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16811            0 :               {
   16812            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16813            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16814            0 :                 if (res) return res;
   16815              :               }
   16816              :             }
   16817              :           break;
   16818            0 :         case CFN_COND_LEN_FMS:
   16819            0 :           if (call_expr_nargs (_p2) == 7)
   16820              :     {
   16821            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16822            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16823            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16824            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16825            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16826            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16827            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16828            0 :               {
   16829            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16830            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16831            0 :                 if (res) return res;
   16832              :               }
   16833              :             }
   16834              :           break;
   16835            0 :         case CFN_COND_LEN_FNMA:
   16836            0 :           if (call_expr_nargs (_p2) == 7)
   16837              :     {
   16838            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16839            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16840            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16841            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16842            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16843            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16844            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16845            0 :               {
   16846            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16847            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16848            0 :                 if (res) return res;
   16849              :               }
   16850              :             }
   16851              :           break;
   16852            0 :         case CFN_COND_LEN_FNMS:
   16853            0 :           if (call_expr_nargs (_p2) == 7)
   16854              :     {
   16855            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16856            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16857            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16858            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16859            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16860            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16861            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16862            0 :               {
   16863            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16864            0 :                 tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16865            0 :                 if (res) return res;
   16866              :               }
   16867              :             }
   16868              :           break;
   16869              :         default:;
   16870              :         }
   16871              :       break;
   16872       386006 :     default:;
   16873              :     }
   16874       386006 :   switch (TREE_CODE (_p1))
   16875              :     {
   16876           12 :     case CALL_EXPR:
   16877           12 :       switch (get_call_combined_fn (_p1))
   16878              :         {
   16879            0 :         case CFN_COND_ADD:
   16880            0 :           if (call_expr_nargs (_p1) == 4)
   16881              :     {
   16882            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16883            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16884            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16885            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16886            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16887              :                 {
   16888            0 :                   {
   16889            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16890            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16891            0 :                     if (res) return res;
   16892              :                   }
   16893              :                 }
   16894              :             }
   16895              :           break;
   16896            0 :         case CFN_COND_AND:
   16897            0 :           if (call_expr_nargs (_p1) == 4)
   16898              :     {
   16899            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16900            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16901            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16902            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16903            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16904              :                 {
   16905            0 :                   {
   16906            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16907            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16908            0 :                     if (res) return res;
   16909              :                   }
   16910              :                 }
   16911              :             }
   16912              :           break;
   16913            0 :         case CFN_COND_DIV:
   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_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16925            0 :                     if (res) return res;
   16926              :                   }
   16927              :                 }
   16928              :             }
   16929              :           break;
   16930            0 :         case CFN_COND_FMA:
   16931            0 :           if (call_expr_nargs (_p1) == 5)
   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 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16938            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16939              :                 {
   16940            0 :                   {
   16941            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16942            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16943            0 :                     if (res) return res;
   16944              :                   }
   16945              :                 }
   16946              :             }
   16947              :           break;
   16948            0 :         case CFN_COND_FMS:
   16949            0 :           if (call_expr_nargs (_p1) == 5)
   16950              :     {
   16951            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16952            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16953            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16954            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16955            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16956            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16957              :                 {
   16958            0 :                   {
   16959            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16960            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16961            0 :                     if (res) return res;
   16962              :                   }
   16963              :                 }
   16964              :             }
   16965              :           break;
   16966            0 :         case CFN_COND_IOR:
   16967            0 :           if (call_expr_nargs (_p1) == 4)
   16968              :     {
   16969            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16970            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16971            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16972            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16973            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16974              :                 {
   16975            0 :                   {
   16976            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16977            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16978            0 :                     if (res) return res;
   16979              :                   }
   16980              :                 }
   16981              :             }
   16982              :           break;
   16983            0 :         case CFN_COND_MAX:
   16984            0 :           if (call_expr_nargs (_p1) == 4)
   16985              :     {
   16986            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16987            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16988            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16989            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16990            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16991              :                 {
   16992            0 :                   {
   16993            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16994            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16995            0 :                     if (res) return res;
   16996              :                   }
   16997              :                 }
   16998              :             }
   16999              :           break;
   17000            0 :         case CFN_COND_MIN:
   17001            0 :           if (call_expr_nargs (_p1) == 4)
   17002              :     {
   17003            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17004            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17005            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17006            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17007            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17008              :                 {
   17009            0 :                   {
   17010            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17011            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   17012            0 :                     if (res) return res;
   17013              :                   }
   17014              :                 }
   17015              :             }
   17016              :           break;
   17017            0 :         case CFN_COND_MOD:
   17018            0 :           if (call_expr_nargs (_p1) == 4)
   17019              :     {
   17020            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17021            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17022            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17023            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17024            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17025              :                 {
   17026            0 :                   {
   17027            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17028            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   17029            0 :                     if (res) return res;
   17030              :                   }
   17031              :                 }
   17032              :             }
   17033              :           break;
   17034            0 :         case CFN_COND_MUL:
   17035            0 :           if (call_expr_nargs (_p1) == 4)
   17036              :     {
   17037            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17038            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17039            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17040            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17041            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17042              :                 {
   17043            0 :                   {
   17044            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17045            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   17046            0 :                     if (res) return res;
   17047              :                   }
   17048              :                 }
   17049              :             }
   17050              :           break;
   17051            0 :         case CFN_COND_SHL:
   17052            0 :           if (call_expr_nargs (_p1) == 4)
   17053              :     {
   17054            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17055            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17056            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17057            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17058            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17059              :                 {
   17060            0 :                   {
   17061            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17062            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   17063            0 :                     if (res) return res;
   17064              :                   }
   17065              :                 }
   17066              :             }
   17067              :           break;
   17068            0 :         case CFN_COND_SHR:
   17069            0 :           if (call_expr_nargs (_p1) == 4)
   17070              :     {
   17071            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17072            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17073            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17074            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17075            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17076              :                 {
   17077            0 :                   {
   17078            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17079            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   17080            0 :                     if (res) return res;
   17081              :                   }
   17082              :                 }
   17083              :             }
   17084              :           break;
   17085            0 :         case CFN_COND_SUB:
   17086            0 :           if (call_expr_nargs (_p1) == 4)
   17087              :     {
   17088            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17089            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17090            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17091            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17092            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17093              :                 {
   17094            0 :                   {
   17095            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17096            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   17097            0 :                     if (res) return res;
   17098              :                   }
   17099              :                 }
   17100              :             }
   17101              :           break;
   17102            0 :         case CFN_COND_XOR:
   17103            0 :           if (call_expr_nargs (_p1) == 4)
   17104              :     {
   17105            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17106            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17107            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17108            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17109            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17110              :                 {
   17111            0 :                   {
   17112            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17113            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   17114            0 :                     if (res) return res;
   17115              :                   }
   17116              :                 }
   17117              :             }
   17118              :           break;
   17119            0 :         case CFN_COND_COPYSIGN:
   17120            0 :           if (call_expr_nargs (_p1) == 4)
   17121              :     {
   17122            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17123            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17124            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17125            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17126            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17127              :                 {
   17128            0 :                   {
   17129            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17130            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   17131            0 :                     if (res) return res;
   17132              :                   }
   17133              :                 }
   17134              :             }
   17135              :           break;
   17136            0 :         case CFN_COND_FMAX:
   17137            0 :           if (call_expr_nargs (_p1) == 4)
   17138              :     {
   17139            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17140            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17141            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17142            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17143            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17144              :                 {
   17145            0 :                   {
   17146            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17147            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   17148            0 :                     if (res) return res;
   17149              :                   }
   17150              :                 }
   17151              :             }
   17152              :           break;
   17153            0 :         case CFN_COND_FMIN:
   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_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   17165            0 :                     if (res) return res;
   17166              :                   }
   17167              :                 }
   17168              :             }
   17169              :           break;
   17170            0 :         case CFN_COND_FNMA:
   17171            0 :           if (call_expr_nargs (_p1) == 5)
   17172              :     {
   17173            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17174            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17175            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17176            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17177            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17178            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17179              :                 {
   17180            0 :                   {
   17181            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17182            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   17183            0 :                     if (res) return res;
   17184              :                   }
   17185              :                 }
   17186              :             }
   17187              :           break;
   17188            0 :         case CFN_COND_FNMS:
   17189            0 :           if (call_expr_nargs (_p1) == 5)
   17190              :     {
   17191            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17192            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17193            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17194            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17195            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17196            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17197              :                 {
   17198            0 :                   {
   17199            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17200            0 :                     tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   17201            0 :                     if (res) return res;
   17202              :                   }
   17203              :                 }
   17204              :             }
   17205              :           break;
   17206            0 :         case CFN_COND_RDIV:
   17207            0 :           if (call_expr_nargs (_p1) == 4)
   17208              :     {
   17209            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17210            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17211            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17212            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17213            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17214              :                 {
   17215            0 :                   {
   17216            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17217            0 :                     tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   17218            0 :                     if (res) return res;
   17219              :                   }
   17220              :                 }
   17221              :             }
   17222              :           break;
   17223              :         default:;
   17224              :         }
   17225              :       break;
   17226              :     default:;
   17227              :     }
   17228              :   return NULL_TREE;
   17229              : }
   17230              : #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.