LCOV - code coverage report
Current view: top level - /mnt/build/buildbot/bld/build-lcov/gcc - generic-match-1.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 36.6 % 10794 3947
Test Date: 2026-03-28 14:25:54 Functions: 71.2 % 66 47
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     99957268 : tree_zero_one_valued_p (tree t)
      11              : {
      12     99957268 :   const tree type = TREE_TYPE (t);
      13     99957268 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14     99957268 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     94247409 :   {
      16     94247409 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    188494818 :     if (INTEGRAL_TYPE_P (type)
      18     69154208 :  && (TYPE_UNSIGNED (type)
      19     12332162 :  || TYPE_PRECISION (type) > 1)
      20    232555807 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23       482134 :         {
      24       482134 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25       482134 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29     93765275 :   switch (TREE_CODE (t))
      30              :     {
      31      1035799 :     case BIT_AND_EXPR:
      32      1035799 :       {
      33      1035799 :         tree _p0 = TREE_OPERAND (t, 0);
      34      1035799 :         tree _p1 = TREE_OPERAND (t, 1);
      35      1035799 :         if (integer_onep (_p1))
      36              :           {
      37            0 :             {
      38            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      39            0 :               if (INTEGRAL_TYPE_P (type)
      40              : )
      41              :                 {
      42            0 :                   {
      43            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      44            0 :                     return true;
      45              :                   }
      46              :                 }
      47              :             }
      48              :           }
      49      1035799 :         if (integer_onep (_p0))
      50              :           {
      51            0 :             {
      52            0 :               tree captures[2] ATTRIBUTE_UNUSED = { t, _p1 };
      53            0 :               if (INTEGRAL_TYPE_P (type)
      54              : )
      55              :                 {
      56            0 :                   {
      57            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
      58            0 :                     return true;
      59              :                   }
      60              :                 }
      61              :             }
      62              :           }
      63              :         break;
      64              :       }
      65     44830161 :     CASE_CONVERT:
      66     44830161 :       {
      67     44830161 :         tree _p0 = TREE_OPERAND (t, 0);
      68     44830161 :         {
      69     44830161 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     89653369 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     40383756 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35460682 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     40383756 :  && INTEGRAL_TYPE_P (type)
      74     40383742 :  && (TYPE_UNSIGNED (type)
      75      1865730 :  || TYPE_PRECISION (type) > 1)
      76    130044064 :  && wi::leu_p (tree_nonzero_bits (captures[1]), 1)
      77              : )
      78              :             {
      79            0 :               {
      80            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 30, __FILE__, __LINE__, false);
      81            0 :                 return true;
      82              :               }
      83              :             }
      84              :         }
      85              :         break;
      86              :       }
      87     93765275 :     default:;
      88              :     }
      89     93765275 : if (tree_truth_valued_p (t))
      90              :   {
      91       157993 :     {
      92       157993 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       157993 :       if (INTEGRAL_TYPE_P (type)
      94       157993 :  && (TYPE_UNSIGNED (type)
      95       157927 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       157975 :           {
      99       157975 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100       157975 :             return true;
     101              :           }
     102              :         }
     103              :     }
     104              :   }
     105              :   return false;
     106              : }
     107              : 
     108              : tree
     109            1 : generic_simplify_2 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     110              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
     111              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     112              : {
     113            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     114            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail73;
     115            1 :   {
     116            1 :     tree res_op0;
     117            1 :     res_op0 = captures[0];
     118            1 :     tree _r;
     119            1 :     _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     120            1 :     if (TREE_SIDE_EFFECTS (captures[1]))
     121            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     122            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 50, __FILE__, __LINE__, true);
     123              :     return _r;
     124              :   }
     125            0 : next_after_fail73:;
     126            0 :   return NULL_TREE;
     127              : }
     128              : 
     129              : tree
     130            0 : generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     131              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     132              :  const enum tree_code ARG_UNUSED (op))
     133              : {
     134            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     135            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
     136            0 :   {
     137            0 :     tree res_op0;
     138            0 :     res_op0 = captures[0];
     139            0 :     tree res_op1;
     140            0 :     res_op1 = captures[1];
     141            0 :     tree _r;
     142            0 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     143            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     144              :     return _r;
     145              :   }
     146            0 : next_after_fail81:;
     147            0 :   return NULL_TREE;
     148              : }
     149              : 
     150              : tree
     151           24 : generic_simplify_16 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     152              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     153              :  const enum tree_code ARG_UNUSED (op),
     154              :  const enum tree_code ARG_UNUSED (cmp),
     155              :  const enum tree_code ARG_UNUSED (icmp))
     156              : {
     157           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     158           24 :   if (invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     159              : )
     160              :     {
     161           24 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail88;
     162           24 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail88;
     163           24 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail88;
     164           24 :       {
     165           24 :         tree res_op0;
     166           24 :         res_op0 = captures[1];
     167           24 :         tree res_op1;
     168           24 :         res_op1 = captures[4];
     169           24 :         tree res_op2;
     170           24 :         res_op2 = captures[7];
     171           24 :         tree _r;
     172           24 :         _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     173           24 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 65, __FILE__, __LINE__, true);
     174           24 :         return _r;
     175              :       }
     176              : next_after_fail88:;
     177              :     }
     178              :   return NULL_TREE;
     179              : }
     180              : 
     181              : tree
     182          523 : generic_simplify_23 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     183              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     184              : {
     185          523 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     186          523 :   if (!TYPE_SATURATING (type)
     187              : )
     188              :     {
     189          523 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     190         1046 :  && !FIXED_POINT_TYPE_P (type)
     191              : )
     192              :         {
     193          523 :           if (!TYPE_OVERFLOW_TRAPS (type)
     194              : )
     195              :             {
     196          523 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail103;
     197          523 :               {
     198          523 :                 tree res_op0;
     199          523 :                 res_op0 =  build_all_ones_cst (TREE_TYPE (captures[0]));
     200          523 :                 tree _r;
     201          523 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     202          523 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     203            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     204          523 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 80, __FILE__, __LINE__, true);
     205          523 :                 return _r;
     206              :               }
     207            0 : next_after_fail103:;
     208              :             }
     209              :         }
     210              :     }
     211              :   return NULL_TREE;
     212              : }
     213              : 
     214              : tree
     215            9 : generic_simplify_29 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     216              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     217              : {
     218            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     219            9 :   if (INTEGRAL_TYPE_P (type)
     220            9 :  && (
     221              : 
     222            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     223              : )
     224              :     {
     225            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail110;
     226            2 :       {
     227            2 :         tree res_op0;
     228            2 :         {
     229            2 :           tree _o1[1], _r1;
     230            2 :           _o1[0] = captures[2];
     231            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     232              :             {
     233            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     234              :             }
     235              :           else
     236              :             _r1 = _o1[0];
     237            2 :           res_op0 = _r1;
     238              :         }
     239            2 :         tree res_op1;
     240            2 :         res_op1 = captures[1];
     241            2 :         tree res_op2;
     242            2 :         res_op2 = captures[0];
     243            2 :         tree _r;
     244            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     245            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 87, __FILE__, __LINE__, true);
     246            2 :         return _r;
     247              :       }
     248            0 : next_after_fail110:;
     249              :     }
     250              :   return NULL_TREE;
     251              : }
     252              : 
     253              : tree
     254        18686 : generic_simplify_33 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     255              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     256              :  const enum tree_code ARG_UNUSED (op))
     257              : {
     258        18686 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     259        18686 :   if (flag_unsafe_math_optimizations
     260              : )
     261              :     {
     262           12 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail115;
     263           12 :       {
     264           12 :         tree res_op0;
     265           12 :         {
     266           12 :           tree _o1[2], _r1;
     267           12 :           _o1[0] = captures[0];
     268           12 :           _o1[1] = captures[2];
     269           12 :           _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     270           12 :           res_op0 = _r1;
     271              :         }
     272           12 :         tree res_op1;
     273           12 :         res_op1 = captures[1];
     274           12 :         tree _r;
     275           12 :         _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
     276           12 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 92, __FILE__, __LINE__, true);
     277           12 :         return _r;
     278              :       }
     279            0 : next_after_fail115:;
     280              :     }
     281              :   return NULL_TREE;
     282              : }
     283              : 
     284              : tree
     285           85 : generic_simplify_40 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     286              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     287              : {
     288           85 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     289           85 :   if (INTEGRAL_TYPE_P (type)
     290           85 :  || (VECTOR_INTEGER_TYPE_P (type)
     291              :  && ((optimize_vectors_before_lowering_p ()
     292            1 :  && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)
     293            0 :  || target_supports_op_p (type, TRUNC_MOD_EXPR,
     294              :  optab_vector)))
     295              : )
     296              :     {
     297           85 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail122;
     298           85 :       {
     299           85 :         tree res_op0;
     300           85 :         {
     301           85 :           tree _o1[2], _r1;
     302           85 :           _o1[0] = captures[0];
     303           85 :           _o1[1] = captures[1];
     304           85 :           _r1 = fold_build2_loc (loc, TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     305           85 :           res_op0 = _r1;
     306              :         }
     307           85 :         tree _r;
     308           85 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     309           85 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 99, __FILE__, __LINE__, true);
     310           85 :         return _r;
     311              :       }
     312            0 : next_after_fail122:;
     313              :     }
     314              :   return NULL_TREE;
     315              : }
     316              : 
     317              : tree
     318            1 : generic_simplify_47 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     319              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     320              : {
     321            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     322            1 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
     323            1 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     324              : )
     325              :     {
     326            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail129;
     327            1 :       {
     328            1 :         tree res_op0;
     329            1 :         {
     330            1 :           tree _o1[2], _r1;
     331            1 :           {
     332            1 :             tree _o2[1], _r2;
     333            1 :             _o2[0] = captures[3];
     334            1 :             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
     335            1 :             _o1[0] = _r2;
     336              :           }
     337            1 :           _o1[1] = captures[0];
     338            1 :           _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     339            1 :           res_op0 = _r1;
     340              :         }
     341            1 :         tree _r;
     342            1 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     343            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 106, __FILE__, __LINE__, true);
     344            1 :         return _r;
     345              :       }
     346            0 : next_after_fail129:;
     347              :     }
     348              :   return NULL_TREE;
     349              : }
     350              : 
     351              : tree
     352          668 : generic_simplify_55 (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          668 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     356          668 :   if (!TYPE_SATURATING (type)
     357              : )
     358              :     {
     359          668 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     360         1336 :  && !FIXED_POINT_TYPE_P (type)
     361              : )
     362              :         {
     363          668 :           if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
     364              : )
     365              :             {
     366           28 :               if (!CONSTANT_CLASS_P (captures[2])
     367              : )
     368              :                 {
     369           28 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
     370           28 :                   {
     371           28 :                     tree res_op0;
     372           28 :                     {
     373           28 :                       tree _o1[1], _r1;
     374           28 :                       _o1[0] = captures[2];
     375           28 :                       if (TREE_TYPE (_o1[0]) != type)
     376              :                         {
     377           28 :                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     378              :                         }
     379              :                       else
     380              :                         _r1 = _o1[0];
     381           28 :                       res_op0 = _r1;
     382              :                     }
     383           28 :                     tree res_op1;
     384           28 :                     {
     385           28 :                       tree _o1[2], _r1;
     386           28 :                       _o1[0] = captures[0];
     387           28 :                       {
     388           28 :                         tree _o2[1], _r2;
     389           28 :                         _o2[0] = captures[1];
     390           28 :                         if (TREE_TYPE (_o2[0]) != type)
     391              :                           {
     392           28 :                             _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     393              :                           }
     394              :                         else
     395              :                           _r2 = _o2[0];
     396           28 :                         _o1[1] = _r2;
     397              :                       }
     398           28 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     399           28 :                       if (EXPR_P (_r1))
     400            0 :                         goto next_after_fail139;
     401           28 :                       res_op1 = _r1;
     402              :                     }
     403           28 :                     tree _r;
     404           28 :                     _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     405           28 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 115, __FILE__, __LINE__, true);
     406           28 :                     return _r;
     407              :                   }
     408              : next_after_fail139:;
     409              :                 }
     410              :             }
     411              :           else
     412              :             {
     413         1280 :               if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     414         1280 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
     415              : )
     416              :                 {
     417            1 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
     418            1 :                   {
     419            1 :                     tree res_op0;
     420            1 :                     {
     421            1 :                       tree _o1[2], _r1;
     422            1 :                       _o1[0] = captures[2];
     423            1 :                       {
     424            1 :                         tree _o2[2], _r2;
     425            1 :                         {
     426            1 :                           tree _o3[1], _r3;
     427            1 :                           _o3[0] = captures[0];
     428            1 :                           if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o1[0]))
     429              :                             {
     430            1 :                               _r3 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
     431              :                             }
     432              :                           else
     433              :                             _r3 = _o3[0];
     434            1 :                           _o2[0] = _r3;
     435              :                         }
     436            1 :                         _o2[1] = captures[1];
     437            1 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     438            1 :                         if (EXPR_P (_r2))
     439            0 :                           goto next_after_fail140;
     440            1 :                         _o1[1] = _r2;
     441              :                       }
     442            1 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     443            1 :                       res_op0 = _r1;
     444              :                     }
     445            1 :                     tree _r;
     446            1 :                     _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     447            1 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 116, __FILE__, __LINE__, true);
     448            1 :                     return _r;
     449              :                   }
     450              : next_after_fail140:;
     451              :                 }
     452              :               else
     453              :                 {
     454          639 :                   if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
     455              : )
     456              :                     {
     457          630 :                       {
     458          630 :  tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
     459          630 :                           if (cst && !TREE_OVERFLOW (cst)
     460              : )
     461              :                             {
     462          630 :                               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail141;
     463          630 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail141;
     464          630 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail141;
     465          630 :                               {
     466          630 :                                 tree res_op0;
     467          630 :                                 res_op0 =  cst;
     468          630 :                                 tree res_op1;
     469          630 :                                 res_op1 = captures[2];
     470          630 :                                 tree _r;
     471          630 :                                 _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     472          630 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 117, __FILE__, __LINE__, true);
     473          630 :                                 return _r;
     474              :                               }
     475              : next_after_fail141:;
     476              :                             }
     477              :                       }
     478              :                     }
     479              :                 }
     480              :             }
     481              :         }
     482              :     }
     483              :   return NULL_TREE;
     484              : }
     485              : 
     486              : tree
     487            8 : generic_simplify_83 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     488              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     489              : {
     490            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     491           16 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     492           16 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     493              : )
     494              :     {
     495            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail175;
     496            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail175;
     497            0 :       {
     498            0 :         tree _r;
     499            0 :         _r = captures[2];
     500            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 145, __FILE__, __LINE__, true);
     501            0 :         return _r;
     502              :       }
     503              : next_after_fail175:;
     504              :     }
     505              :   return NULL_TREE;
     506              : }
     507              : 
     508              : tree
     509            1 : generic_simplify_92 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     510              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     511              : {
     512            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     513            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail184;
     514            1 :   {
     515            1 :     tree res_op0;
     516            1 :     {
     517            1 :       tree _o1[2], _r1;
     518            1 :       _o1[0] = captures[1];
     519            1 :       _o1[1] = captures[2];
     520            1 :       _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     521            1 :       res_op0 = _r1;
     522              :     }
     523            1 :     tree _r;
     524            1 :     _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     525            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 151, __FILE__, __LINE__, true);
     526              :     return _r;
     527              :   }
     528            0 : next_after_fail184:;
     529            0 :   return NULL_TREE;
     530              : }
     531              : 
     532              : tree
     533            0 : generic_simplify_102 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     534              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     535              :  const enum tree_code ARG_UNUSED (op))
     536              : {
     537            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     538            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
     539            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[6]))
     540              : )
     541              :     {
     542            0 :       if (single_use (captures[4]) && single_use (captures[5])
     543              : )
     544              :         {
     545            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail197;
     546            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail197;
     547            0 :           {
     548            0 :             tree res_op0;
     549            0 :             res_op0 = captures[0];
     550            0 :             tree res_op1;
     551            0 :             {
     552            0 :               tree _o1[1], _r1;
     553            0 :               _o1[0] = captures[6];
     554            0 :               if (TREE_TYPE (_o1[0]) != type)
     555              :                 {
     556            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     557              :                 }
     558              :               else
     559              :                 _r1 = _o1[0];
     560            0 :               res_op1 = _r1;
     561              :             }
     562            0 :             tree _r;
     563            0 :             _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     564            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 156, __FILE__, __LINE__, true);
     565            0 :             return _r;
     566              :           }
     567              : next_after_fail197:;
     568              :         }
     569              :       else
     570              :         {
     571              :           if (single_use (captures[0]) && single_use (captures[1])
     572              : )
     573              :             {
     574              :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail198;
     575              :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail198;
     576              :               {
     577              :                 tree res_op0;
     578              :                 {
     579              :                   tree _o1[1], _r1;
     580              :                   _o1[0] = captures[3];
     581              :                   if (TREE_TYPE (_o1[0]) != type)
     582              :                     {
     583              :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     584              :                     }
     585              :                   else
     586              :                     _r1 = _o1[0];
     587              :                   res_op0 = _r1;
     588              :                 }
     589              :                 tree res_op1;
     590              :                 res_op1 = captures[4];
     591              :                 tree _r;
     592              :                 _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     593              :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 157, __FILE__, __LINE__, true);
     594              :                 return _r;
     595              :               }
     596              : next_after_fail198:;
     597              :             }
     598              :         }
     599              :     }
     600              :   return NULL_TREE;
     601              : }
     602              : 
     603              : tree
     604            0 : generic_simplify_116 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     605              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     606              :  const enum tree_code ARG_UNUSED (op))
     607              : {
     608            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     609            0 :   if (INTEGRAL_TYPE_P (type)
     610            0 :  && operand_equal_p (captures[2], captures[6], 0)
     611            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     612              : )
     613              :     {
     614            0 :       {
     615            0 :  tree t = type;
     616            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     617            0 :  t = unsigned_type_for (t);
     618            0 :  wide_int c = wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[7]));
     619            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail213;
     620            0 :           if (TREE_SIDE_EFFECTS (captures[7])) goto next_after_fail213;
     621            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
     622            0 :           {
     623            0 :             tree res_op0;
     624            0 :             {
     625            0 :               tree _o1[2], _r1;
     626            0 :               {
     627            0 :                 tree _o2[1], _r2;
     628            0 :                 _o2[0] = captures[2];
     629            0 :                 if (TREE_TYPE (_o2[0]) != t)
     630              :                   {
     631            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     632              :                   }
     633              :                 else
     634              :                   _r2 = _o2[0];
     635            0 :                 _o1[0] = _r2;
     636              :               }
     637            0 :               _o1[1] =  wide_int_to_tree (t, c);
     638            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     639            0 :               res_op0 = _r1;
     640              :             }
     641            0 :             tree _r;
     642            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     643            0 :             if (TREE_SIDE_EFFECTS (captures[6]))
     644            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
     645            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 166, __FILE__, __LINE__, true);
     646            0 :             return _r;
     647              :           }
     648            0 : next_after_fail213:;
     649            0 :       }
     650              :     }
     651              :   return NULL_TREE;
     652              : }
     653              : 
     654              : tree
     655          407 : generic_simplify_129 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     656              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     657              :  const enum tree_code ARG_UNUSED (code2),
     658              :  const enum tree_code ARG_UNUSED (code1))
     659              : {
     660          407 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     661          407 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     662          376 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     663          407 :  || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     664            3 :  || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     665            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[2])))
     666           31 :  && bitwise_equal_p (captures[2], captures[5]))
     667              : )
     668              :     {
     669          378 :       {
     670          378 :  bool one_before = false;
     671          378 :  bool one_after = false;
     672          378 :  int cmp = 0;
     673          378 :  bool allbits = true;
     674          378 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     675          376 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     676              :  {
     677          376 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     678          376 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     679          376 :  auto t2 = wi::to_wide (captures[5]);
     680          376 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     681          376 :  if (cmp < 0
     682          376 :  && t1 == t2 - 1)
     683              :  one_before = true;
     684          376 :  if (cmp > 0
     685          376 :  && t1 == t2 + 1)
     686              :  one_after = true;
     687              :  }
     688          378 :  bool val;
     689          378 :  switch (code2)
     690              :  {
     691          362 :  case EQ_EXPR: val = (cmp == 0); break;
     692            0 :  case NE_EXPR: val = (cmp != 0); break;
     693            2 :  case LT_EXPR: val = (cmp < 0); break;
     694            0 :  case GT_EXPR: val = (cmp > 0); break;
     695           14 :  case LE_EXPR: val = (cmp <= 0); break;
     696            0 :  case GE_EXPR: val = (cmp >= 0); break;
     697            0 :  default: gcc_unreachable ();
     698              :  }
     699          378 :           if (code1 == EQ_EXPR && val
     700              : )
     701              :             {
     702            7 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail238;
     703            7 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail238;
     704            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail238;
     705            7 :               {
     706            7 :                 tree _r;
     707            7 :                 _r = captures[3];
     708            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 184, __FILE__, __LINE__, true);
     709            7 :                 return _r;
     710              :               }
     711              : next_after_fail238:;
     712              :             }
     713              :           else
     714              :             {
     715          371 :               if (code1 == NE_EXPR && val && allbits
     716              : )
     717              :                 {
     718            7 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail239;
     719            7 :                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail239;
     720            7 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail239;
     721            7 :                   {
     722            7 :                     tree _r;
     723            7 :                     _r =  constant_boolean_node (true, type);
     724            7 :                     if (TREE_SIDE_EFFECTS (captures[4]))
     725            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     726            7 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 185, __FILE__, __LINE__, true);
     727            7 :                     return _r;
     728              :                   }
     729              : next_after_fail239:;
     730              :                 }
     731              :               else
     732              :                 {
     733          364 :                   if (code1 == NE_EXPR && !val && allbits
     734              : )
     735              :                     {
     736            0 :                       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail240;
     737            0 :                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail240;
     738            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail240;
     739            0 :                       {
     740            0 :                         tree _r;
     741            0 :                         _r = captures[0];
     742            0 :                         if (TREE_SIDE_EFFECTS (captures[4]))
     743            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
     744            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 186, __FILE__, __LINE__, true);
     745            0 :                         return _r;
     746              :                       }
     747              : next_after_fail240:;
     748              :                     }
     749              :                   else
     750              :                     {
     751          364 :                       if (code1 == EQ_EXPR
     752          364 :  && code2 == GT_EXPR
     753            0 :  && cmp == 0
     754            0 :  && allbits
     755          364 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     756            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     757            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     758              : )
     759              :                         {
     760            0 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail241;
     761            0 :                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail241;
     762            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail241;
     763            0 :                           {
     764            0 :                             tree res_op0;
     765            0 :                             res_op0 = captures[4];
     766            0 :                             tree res_op1;
     767            0 :                             res_op1 = captures[5];
     768            0 :                             tree _r;
     769            0 :                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     770            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
     771            0 :                             return _r;
     772              :                           }
     773              : next_after_fail241:;
     774              :                         }
     775              :                       else
     776              :                         {
     777          364 :                           if (code1 == EQ_EXPR
     778          364 :  && code2 == LT_EXPR
     779            2 :  && cmp == 0
     780            2 :  && allbits
     781          366 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     782            2 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     783            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     784              : )
     785              :                             {
     786            2 :                               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail242;
     787            2 :                               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail242;
     788            2 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail242;
     789            2 :                               {
     790            2 :                                 tree res_op0;
     791            2 :                                 res_op0 = captures[4];
     792            2 :                                 tree res_op1;
     793            2 :                                 res_op1 = captures[5];
     794            2 :                                 tree _r;
     795            2 :                                 _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     796            2 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     797            2 :                                 return _r;
     798              :                               }
     799              : next_after_fail242:;
     800              :                             }
     801              :                           else
     802              :                             {
     803          362 :                               if (code1 == EQ_EXPR
     804          362 :  && code2 == GE_EXPR
     805              :  && one_before
     806            0 :  && allbits
     807          362 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     808            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
     809            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     810              : )
     811              :                                 {
     812            0 :                                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail243;
     813            0 :                                   if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail243;
     814            0 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail243;
     815            0 :                                   {
     816            0 :                                     tree res_op0;
     817            0 :                                     res_op0 = captures[4];
     818            0 :                                     tree res_op1;
     819            0 :                                     {
     820            0 :                                       tree _o1[1], _r1;
     821            0 :                                       _o1[0] = captures[2];
     822            0 :                                       if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     823              :                                         {
     824            0 :                                           _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     825              :                                         }
     826              :                                       else
     827              :                                         _r1 = _o1[0];
     828            0 :                                       res_op1 = _r1;
     829              :                                     }
     830            0 :                                     tree _r;
     831            0 :                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
     832            0 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 189, __FILE__, __LINE__, true);
     833            0 :                                     return _r;
     834              :                                   }
     835              : next_after_fail243:;
     836              :                                 }
     837              :                               else
     838              :                                 {
     839          362 :                                   if (code1 == EQ_EXPR
     840          362 :  && code2 == LE_EXPR
     841              :  && one_after
     842            0 :  && allbits
     843          362 :  && ((VECTOR_BOOLEAN_TYPE_P (type)
     844            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
     845            0 :  || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
     846              : )
     847              :                                     {
     848            0 :                                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail244;
     849            0 :                                       if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail244;
     850            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail244;
     851            0 :                                       {
     852            0 :                                         tree res_op0;
     853            0 :                                         res_op0 = captures[4];
     854            0 :                                         tree res_op1;
     855            0 :                                         {
     856            0 :                                           tree _o1[1], _r1;
     857            0 :                                           _o1[0] = captures[2];
     858            0 :                                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
     859              :                                             {
     860            0 :                                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
     861              :                                             }
     862              :                                           else
     863              :                                             _r1 = _o1[0];
     864            0 :                                           res_op1 = _r1;
     865              :                                         }
     866            0 :                                         tree _r;
     867            0 :                                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
     868            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 190, __FILE__, __LINE__, true);
     869            0 :                                         return _r;
     870              :                                       }
     871              : next_after_fail244:;
     872              :                                     }
     873              :                                 }
     874              :                             }
     875              :                         }
     876              :                     }
     877              :                 }
     878              :             }
     879              :       }
     880              :     }
     881              :   return NULL_TREE;
     882              : }
     883              : 
     884              : tree
     885            0 : generic_simplify_169 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     886              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     887              : {
     888            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     889            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     890            0 :  && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     891              : )
     892              :     {
     893            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail304;
     894            0 :       {
     895            0 :         tree res_op0;
     896            0 :         {
     897            0 :           tree _o1[1], _r1;
     898            0 :           _o1[0] = captures[1];
     899            0 :           if (TREE_TYPE (_o1[0]) != type)
     900              :             {
     901            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     902              :             }
     903              :           else
     904              :             _r1 = _o1[0];
     905            0 :           res_op0 = _r1;
     906              :         }
     907            0 :         tree res_op1;
     908            0 :         {
     909            0 :           tree _o1[1], _r1;
     910            0 :           _o1[0] = captures[2];
     911            0 :           if (TREE_TYPE (_o1[0]) != type)
     912              :             {
     913            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     914              :             }
     915              :           else
     916              :             _r1 = _o1[0];
     917            0 :           res_op1 = _r1;
     918              :         }
     919            0 :         tree _r;
     920            0 :         _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
     921            0 :         if (TREE_SIDE_EFFECTS (captures[0]))
     922            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     923            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 226, __FILE__, __LINE__, true);
     924            0 :         return _r;
     925              :       }
     926            0 : next_after_fail304:;
     927              :     }
     928              :   return NULL_TREE;
     929              : }
     930              : 
     931              : tree
     932            0 : generic_simplify_179 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     933              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     934              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     935              : {
     936            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     937            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     938              : )
     939              :     {
     940            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail316;
     941            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail316;
     942            0 :       {
     943            0 :         tree res_op0;
     944            0 :         {
     945            0 :           tree _o1[1], _r1;
     946            0 :           _o1[0] = captures[0];
     947            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     948            0 :           res_op0 = _r1;
     949              :         }
     950            0 :         tree _r;
     951            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     952            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 235, __FILE__, __LINE__, true);
     953            0 :         return _r;
     954              :       }
     955              : next_after_fail316:;
     956              :     }
     957              :   return NULL_TREE;
     958              : }
     959              : 
     960              : tree
     961            0 : generic_simplify_189 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     962              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     963              :  const enum tree_code ARG_UNUSED (cmp))
     964              : {
     965            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     966            0 :   if (fold_before_rtl_expansion_p ()
     967              : )
     968              :     {
     969            0 :       if (INTEGRAL_TYPE_P (type)
     970            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     971              : )
     972              :         {
     973            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail328;
     974            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail328;
     975            0 :           {
     976            0 :             tree res_op0;
     977            0 :             res_op0 = captures[0];
     978            0 :             tree res_op1;
     979            0 :             res_op1 = captures[3];
     980            0 :             tree res_op2;
     981            0 :             res_op2 =  build_zero_cst (type);
     982            0 :             tree _r;
     983            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     984            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 243, __FILE__, __LINE__, true);
     985            0 :             return _r;
     986              :           }
     987              : next_after_fail328:;
     988              :         }
     989              :     }
     990              :   return NULL_TREE;
     991              : }
     992              : 
     993              : tree
     994            8 : generic_simplify_196 (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 combined_fn ARG_UNUSED (POW))
     997              : {
     998            8 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     999            8 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1000              : )
    1001              :     {
    1002            8 :       if (!TREE_OVERFLOW (captures[2])
    1003              : )
    1004              :         {
    1005            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail336;
    1006            8 :           {
    1007            8 :             tree res_op0;
    1008            8 :             res_op0 = captures[0];
    1009            8 :             tree res_op1;
    1010            8 :             {
    1011            8 :               tree _o1[2], _r1;
    1012            8 :               _o1[0] = captures[2];
    1013            8 :               _o1[1] =  build_one_cst (type);
    1014            8 :               _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1015            8 :               res_op1 = _r1;
    1016              :             }
    1017            8 :             tree _r;
    1018            8 :             _r = maybe_build_call_expr_loc (loc, POW, type, 2, res_op0, res_op1);
    1019            8 :             if (!_r)
    1020            0 :               goto next_after_fail336;
    1021            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 251, __FILE__, __LINE__, true);
    1022            8 :             return _r;
    1023              :           }
    1024              : next_after_fail336:;
    1025              :         }
    1026              :     }
    1027              :   return NULL_TREE;
    1028              : }
    1029              : 
    1030              : tree
    1031       145304 : generic_simplify_207 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1032              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1033              :  const enum tree_code ARG_UNUSED (op))
    1034              : {
    1035       145304 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1036       290608 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1037       289016 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1038       130670 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1039              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1040       144504 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1041       434316 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1042              : )
    1043              :     {
    1044       144496 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail350;
    1045       144496 :       {
    1046       144496 :         tree res_op0;
    1047       144496 :         res_op0 = captures[2];
    1048       144496 :         tree res_op1;
    1049       144496 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1050       144496 :         tree _r;
    1051       144496 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1052       144496 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1053            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1054       144496 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 260, __FILE__, __LINE__, true);
    1055       144496 :         return _r;
    1056              :       }
    1057            0 : next_after_fail350:;
    1058              :     }
    1059              :   return NULL_TREE;
    1060              : }
    1061              : 
    1062              : tree
    1063        12159 : generic_simplify_216 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1064              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1065              :  const enum tree_code ARG_UNUSED (op))
    1066              : {
    1067        12159 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1068        12159 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1069        12159 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1070        12159 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1071              : )
    1072              :     {
    1073        12159 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail372;
    1074        12159 :       {
    1075        12159 :         tree res_op0;
    1076        12159 :         res_op0 = captures[3];
    1077        12159 :         tree res_op1;
    1078        12159 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1079        12159 :         tree _r;
    1080        12159 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1081        12159 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1082            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1083        12159 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 286, __FILE__, __LINE__, true);
    1084        12159 :         return _r;
    1085              :       }
    1086            0 : next_after_fail372:;
    1087              :     }
    1088              :   return NULL_TREE;
    1089              : }
    1090              : 
    1091              : tree
    1092     40265614 : generic_simplify_225 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1093              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1094              :  const enum tree_code ARG_UNUSED (cmp))
    1095              : {
    1096     40265614 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1097     80531376 :   if (wi::bit_and_not (get_known_nonzero_bits (captures[1]),
    1098    120796842 :  get_nonzero_bits (captures[0])) != 0
    1099              : )
    1100              :     {
    1101        83777 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail381;
    1102        83777 :       {
    1103        83777 :         tree _r;
    1104        83777 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1105        83777 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1106            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1107        83777 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1108            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1109        83777 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 294, __FILE__, __LINE__, true);
    1110        83777 :         return _r;
    1111              :       }
    1112            0 : next_after_fail381:;
    1113              :     }
    1114              :   return NULL_TREE;
    1115              : }
    1116              : 
    1117              : tree
    1118           13 : generic_simplify_232 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1119              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1120              :  const enum tree_code ARG_UNUSED (cmp))
    1121              : {
    1122           13 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1123           13 :   if (tree_fits_shwi_p (captures[3])
    1124           13 :  && tree_to_shwi (captures[3]) > 0
    1125           26 :  && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
    1126              : )
    1127              :     {
    1128           13 :       if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
    1129              : )
    1130              :         {
    1131            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail391;
    1132            0 :           {
    1133            0 :             tree _r;
    1134            0 :             _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1135            0 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1136            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1137            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    1138            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1139            0 :             if (TREE_SIDE_EFFECTS (captures[4]))
    1140            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
    1141            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    1142            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    1143            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 304, __FILE__, __LINE__, true);
    1144            0 :             return _r;
    1145              :           }
    1146            0 : next_after_fail391:;
    1147              :         }
    1148              :       else
    1149              :         {
    1150           13 :           {
    1151           13 :  wide_int c1 = wi::to_wide (captures[3]);
    1152           13 :  wide_int c2 = wi::lrshift (wi::to_wide (captures[4]), c1);
    1153           13 :  wide_int c3 = wi::lrshift (wi::to_wide (captures[5]), c1);
    1154           13 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail392;
    1155           13 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail392;
    1156           13 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail392;
    1157           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail392;
    1158           13 :               {
    1159           13 :                 tree res_op0;
    1160           13 :                 {
    1161           13 :                   tree _o1[2], _r1;
    1162           13 :                   _o1[0] = captures[2];
    1163           13 :                   _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c2);
    1164           13 :                   _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1165           13 :                   res_op0 = _r1;
    1166              :                 }
    1167           13 :                 tree res_op1;
    1168           13 :                 res_op1 =  wide_int_to_tree (TREE_TYPE (captures[2]), c3);
    1169           13 :                 tree _r;
    1170           13 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1171           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 305, __FILE__, __LINE__, true);
    1172           13 :                 return _r;
    1173              :               }
    1174            0 : next_after_fail392:;
    1175           13 :           }
    1176              :         }
    1177              :     }
    1178              :   return NULL_TREE;
    1179              : }
    1180              : 
    1181              : tree
    1182        16152 : generic_simplify_246 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1183              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1184              :  const enum tree_code ARG_UNUSED (cmp))
    1185              : {
    1186        16152 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1187        16152 :   if (single_use (captures[0])
    1188              : )
    1189              :     {
    1190        16152 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail415;
    1191        16152 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail415;
    1192        16152 :       {
    1193        16152 :         tree res_op0;
    1194        16152 :         res_op0 = captures[1];
    1195        16152 :         tree res_op1;
    1196        16152 :         res_op1 = captures[2];
    1197        16152 :         tree _r;
    1198        16152 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1199        16152 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 327, __FILE__, __LINE__, true);
    1200        16152 :         return _r;
    1201              :       }
    1202              : next_after_fail415:;
    1203              :     }
    1204              :   return NULL_TREE;
    1205              : }
    1206              : 
    1207              : tree
    1208       927782 : generic_simplify_252 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1209              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1210              :  const enum tree_code ARG_UNUSED (cmp),
    1211              :  const enum tree_code ARG_UNUSED (scmp))
    1212              : {
    1213       927782 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1214       927782 :   if (single_use (captures[0])
    1215       927782 :  && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
    1216              : )
    1217              :     {
    1218       927782 :       {
    1219       927782 :  tree otype = TREE_TYPE (captures[2]);
    1220       927782 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
    1221       927782 :           {
    1222       927782 :             tree res_op0;
    1223       927782 :             {
    1224       927782 :               tree _o1[1], _r1;
    1225       927782 :               _o1[0] = captures[1];
    1226       927782 :               if (TREE_TYPE (_o1[0]) != otype)
    1227              :                 {
    1228          191 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1229              :                 }
    1230              :               else
    1231              :                 _r1 = _o1[0];
    1232       927782 :               res_op0 = _r1;
    1233              :             }
    1234       927782 :             tree res_op1;
    1235       927782 :             {
    1236       927782 :               tree _o1[1], _r1;
    1237       927782 :               _o1[0] = captures[2];
    1238       927782 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1239       927782 :               res_op1 = _r1;
    1240              :             }
    1241       927782 :             tree _r;
    1242       927782 :             _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1243       927782 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1244       927782 :             return _r;
    1245              :           }
    1246            0 : next_after_fail426:;
    1247              :       }
    1248              :     }
    1249              :   return NULL_TREE;
    1250              : }
    1251              : 
    1252              : tree
    1253         1255 : generic_simplify_259 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1254              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1255              :  const enum tree_code ARG_UNUSED (cmp),
    1256              :  const enum tree_code ARG_UNUSED (icmp))
    1257              : {
    1258         1255 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1259         1255 :   if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1260         1255 :  && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1261              : )
    1262              :     {
    1263         1255 :       {
    1264         1255 :  format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[0]))));
    1265         1255 :  tree type1 = TREE_TYPE (captures[1]);
    1266         1255 :  bool type1_signed_p = TYPE_SIGN (type1) == SIGNED;
    1267         1255 :  tree type2 = TREE_TYPE (captures[2]);
    1268         1255 :  bool type2_signed_p = TYPE_SIGN (type2) == SIGNED;
    1269         1255 :           if (fmt.can_represent_integral_type_p (type1)
    1270         1255 :  && fmt.can_represent_integral_type_p (type2)
    1271              : )
    1272              :             {
    1273          229 :               if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
    1274              : )
    1275              :                 {
    1276            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail465;
    1277            0 :                   {
    1278            0 :                     tree _r;
    1279            0 :                     _r =  constant_boolean_node (cmp == ORDERED_EXPR, type);
    1280            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1281            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1282            0 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    1283            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1284            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 376, __FILE__, __LINE__, true);
    1285          183 :                     return _r;
    1286              :                   }
    1287            0 : next_after_fail465:;
    1288              :                 }
    1289              :               else
    1290              :                 {
    1291          229 :                   if (TYPE_PRECISION (type1) > TYPE_PRECISION (type2)
    1292          229 :  && type1_signed_p >= type2_signed_p
    1293              : )
    1294              :                     {
    1295            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail466;
    1296            0 :                       {
    1297            0 :                         tree res_op0;
    1298            0 :                         res_op0 = captures[1];
    1299            0 :                         tree res_op1;
    1300            0 :                         {
    1301            0 :                           tree _o1[1], _r1;
    1302            0 :                           _o1[0] = captures[2];
    1303            0 :                           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1304              :                             {
    1305            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1306              :                             }
    1307              :                           else
    1308              :                             _r1 = _o1[0];
    1309            0 :                           res_op1 = _r1;
    1310              :                         }
    1311            0 :                         tree _r;
    1312            0 :                         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1313            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 377, __FILE__, __LINE__, true);
    1314            0 :                         return _r;
    1315              :                       }
    1316            0 : next_after_fail466:;
    1317              :                     }
    1318              :                   else
    1319              :                     {
    1320          229 :                       if (TYPE_PRECISION (type1) < TYPE_PRECISION (type2)
    1321          229 :  && type1_signed_p <= type2_signed_p
    1322              : )
    1323              :                         {
    1324            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail467;
    1325            7 :                           {
    1326            7 :                             tree res_op0;
    1327            7 :                             {
    1328            7 :                               tree _o1[1], _r1;
    1329            7 :                               _o1[0] = captures[1];
    1330            7 :                               if (TREE_TYPE (_o1[0]) != type2)
    1331              :                                 {
    1332            7 :                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type2, _o1[0]);
    1333              :                                 }
    1334              :                               else
    1335              :                                 _r1 = _o1[0];
    1336            7 :                               res_op0 = _r1;
    1337              :                             }
    1338            7 :                             tree res_op1;
    1339            7 :                             res_op1 = captures[2];
    1340            7 :                             tree _r;
    1341            7 :                             _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1342            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 378, __FILE__, __LINE__, true);
    1343            7 :                             return _r;
    1344              :                           }
    1345            0 : next_after_fail467:;
    1346              :                         }
    1347              :                       else
    1348              :                         {
    1349          222 :                           if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
    1350          222 :  && type1_signed_p == type2_signed_p
    1351              : )
    1352              :                             {
    1353          176 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail468;
    1354          176 :                               {
    1355          176 :                                 tree res_op0;
    1356          176 :                                 res_op0 = captures[1];
    1357          176 :                                 tree res_op1;
    1358          176 :                                 {
    1359          176 :                                   tree _o1[1], _r1;
    1360          176 :                                   _o1[0] = captures[2];
    1361          176 :                                   if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1362              :                                     {
    1363            1 :                                       _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1364              :                                     }
    1365              :                                   else
    1366              :                                     _r1 = _o1[0];
    1367          176 :                                   res_op1 = _r1;
    1368              :                                 }
    1369          176 :                                 tree _r;
    1370          176 :                                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1371          176 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 379, __FILE__, __LINE__, true);
    1372          176 :                                 return _r;
    1373              :                               }
    1374            0 : next_after_fail468:;
    1375              :                             }
    1376              :                         }
    1377              :                     }
    1378              :                 }
    1379              :             }
    1380              :       }
    1381              :     }
    1382              :   return NULL_TREE;
    1383              : }
    1384              : 
    1385              : tree
    1386          451 : generic_simplify_272 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1387              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1388              :  const enum tree_code ARG_UNUSED (cmp))
    1389              : {
    1390          451 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1391          451 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail502;
    1392          451 :   {
    1393          451 :     tree res_op0;
    1394          451 :     {
    1395          451 :       tree _o1[2], _r1;
    1396          451 :       _o1[0] = captures[0];
    1397          451 :       {
    1398          451 :         tree _o2[1], _r2;
    1399          451 :         _o2[0] = captures[1];
    1400          451 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1401          451 :         if (EXPR_P (_r2))
    1402          443 :           goto next_after_fail502;
    1403            8 :         _o1[1] = _r2;
    1404              :       }
    1405            8 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1406            8 :       res_op0 = _r1;
    1407              :     }
    1408            8 :     tree res_op1;
    1409            8 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1410            8 :     tree _r;
    1411            8 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1412            8 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 406, __FILE__, __LINE__, true);
    1413              :     return _r;
    1414              :   }
    1415              : next_after_fail502:;
    1416              :   return NULL_TREE;
    1417              : }
    1418              : 
    1419              : tree
    1420       107994 : generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1421              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1422              :  const enum tree_code ARG_UNUSED (cmp),
    1423              :  const enum tree_code ARG_UNUSED (icmp))
    1424              : {
    1425       107994 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1426       107994 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail506;
    1427       107972 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
    1428       107972 :   {
    1429       107972 :     tree res_op0;
    1430       107972 :     res_op0 = captures[0];
    1431       107972 :     tree res_op1;
    1432       107972 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1433       107972 :     tree _r;
    1434       107972 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1435       107972 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 410, __FILE__, __LINE__, true);
    1436              :     return _r;
    1437              :   }
    1438              : next_after_fail506:;
    1439              :   return NULL_TREE;
    1440              : }
    1441              : 
    1442              : tree
    1443           18 : generic_simplify_281 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1444              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1445              :  const enum tree_code ARG_UNUSED (cmp),
    1446              :  const enum tree_code ARG_UNUSED (ncmp))
    1447              : {
    1448           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1449           36 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1450           18 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1451           36 :  && types_match (captures[0], captures[2])
    1452              : )
    1453              :     {
    1454            2 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail511;
    1455            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail511;
    1456            2 :       {
    1457            2 :         tree res_op0;
    1458            2 :         {
    1459            2 :           tree _o1[2], _r1;
    1460            2 :           _o1[0] = captures[0];
    1461            2 :           _o1[1] = captures[2];
    1462            2 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1463            2 :           res_op0 = _r1;
    1464              :         }
    1465            2 :         tree res_op1;
    1466            2 :         res_op1 = captures[1];
    1467            2 :         tree _r;
    1468            2 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1469            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 413, __FILE__, __LINE__, true);
    1470            2 :         return _r;
    1471              :       }
    1472              : next_after_fail511:;
    1473              :     }
    1474              :   return NULL_TREE;
    1475              : }
    1476              : 
    1477              : tree
    1478            0 : generic_simplify_287 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1479              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1480              :  const enum tree_code ARG_UNUSED (inner),
    1481              :  const enum tree_code ARG_UNUSED (outer))
    1482              : {
    1483            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1484            0 :   {
    1485            0 :  bool cst1 = integer_onep (captures[1]);
    1486            0 :  bool cst0 = integer_zerop (captures[1]);
    1487            0 :  bool innereq = inner == EQ_EXPR;
    1488            0 :  bool outereq = outer == EQ_EXPR;
    1489            0 :       if (innereq ? cst0 : cst1
    1490              : )
    1491              :         {
    1492            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail531;
    1493            0 :           {
    1494            0 :             tree _r;
    1495            0 :             _r =  constant_boolean_node (!outereq, type);
    1496            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    1497            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1498            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    1499            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1500            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 425, __FILE__, __LINE__, true);
    1501            0 :             return _r;
    1502              :           }
    1503            0 : next_after_fail531:;
    1504              :         }
    1505              :       else
    1506              :         {
    1507            0 :           if (innereq ? cst1 : cst0
    1508              : )
    1509              :             {
    1510            0 :               {
    1511            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    1512            0 :  tree ucst1 = build_one_cst (utype);
    1513            0 :                   if (!outereq
    1514              : )
    1515              :                     {
    1516            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail532;
    1517            0 :                       {
    1518            0 :                         tree res_op0;
    1519            0 :                         {
    1520            0 :                           tree _o1[1], _r1;
    1521            0 :                           _o1[0] = captures[0];
    1522            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1523              :                             {
    1524            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1525              :                             }
    1526              :                           else
    1527              :                             _r1 = _o1[0];
    1528            0 :                           res_op0 = _r1;
    1529              :                         }
    1530            0 :                         tree res_op1;
    1531            0 :                         res_op1 =  ucst1;
    1532            0 :                         tree _r;
    1533            0 :                         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    1534            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1535            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1536            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 426, __FILE__, __LINE__, true);
    1537            0 :                         return _r;
    1538              :                       }
    1539            0 : next_after_fail532:;
    1540              :                     }
    1541              :                   else
    1542              :                     {
    1543            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail533;
    1544            0 :                       {
    1545            0 :                         tree res_op0;
    1546            0 :                         {
    1547            0 :                           tree _o1[1], _r1;
    1548            0 :                           _o1[0] = captures[0];
    1549            0 :                           if (TREE_TYPE (_o1[0]) != utype)
    1550              :                             {
    1551            0 :                               _r1 = fold_build1_loc (loc, NOP_EXPR, utype, _o1[0]);
    1552              :                             }
    1553              :                           else
    1554              :                             _r1 = _o1[0];
    1555            0 :                           res_op0 = _r1;
    1556              :                         }
    1557            0 :                         tree res_op1;
    1558            0 :                         res_op1 =  ucst1;
    1559            0 :                         tree _r;
    1560            0 :                         _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
    1561            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1562            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1563            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 427, __FILE__, __LINE__, true);
    1564            0 :                         return _r;
    1565              :                       }
    1566            0 : next_after_fail533:;
    1567              :                     }
    1568              :               }
    1569              :             }
    1570              :           else
    1571              :             {
    1572            0 :               {
    1573            0 :  tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
    1574            0 :                   if (outereq
    1575              : )
    1576              :                     {
    1577            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail534;
    1578            0 :                       {
    1579            0 :                         tree res_op0;
    1580            0 :                         res_op0 = captures[0];
    1581            0 :                         tree res_op1;
    1582            0 :                         res_op1 =  value;
    1583            0 :                         tree _r;
    1584            0 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    1585            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1586            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1587            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 428, __FILE__, __LINE__, true);
    1588            0 :                         return _r;
    1589              :                       }
    1590            0 : next_after_fail534:;
    1591              :                     }
    1592              :                   else
    1593              :                     {
    1594            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail535;
    1595            0 :                       {
    1596            0 :                         tree res_op0;
    1597            0 :                         res_op0 = captures[0];
    1598            0 :                         tree res_op1;
    1599            0 :                         res_op1 =  value;
    1600            0 :                         tree _r;
    1601            0 :                         _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    1602            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1603            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1604            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
    1605            0 :                         return _r;
    1606              :                       }
    1607            0 : next_after_fail535:;
    1608              :                     }
    1609              :               }
    1610              :             }
    1611              :         }
    1612              :   }
    1613              :   return NULL_TREE;
    1614              : }
    1615              : 
    1616              : tree
    1617           45 : generic_simplify_295 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1618              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1619              :  const enum tree_code ARG_UNUSED (cmp),
    1620              :  const enum tree_code ARG_UNUSED (rep),
    1621              :  const combined_fn ARG_UNUSED (popcount))
    1622              : {
    1623           45 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1624           45 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail556;
    1625           45 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail556;
    1626           45 :   {
    1627           45 :     tree res_op0;
    1628           45 :     res_op0 = captures[0];
    1629           45 :     tree res_op1;
    1630           45 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1631           45 :     tree _r;
    1632           45 :     _r = fold_build2_loc (loc, rep, type, res_op0, res_op1);
    1633           45 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
    1634              :     return _r;
    1635              :   }
    1636              : next_after_fail556:;
    1637              :   return NULL_TREE;
    1638              : }
    1639              : 
    1640              : tree
    1641       129063 : generic_simplify_300 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1642              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1643              :  const enum tree_code ARG_UNUSED (cmp))
    1644              : {
    1645       129063 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1646       129063 :   if (cmp != NE_EXPR
    1647       123843 :  || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1648       141562 :  || ! tree_expr_maybe_nan_p (captures[0])
    1649              : )
    1650              :     {
    1651       122378 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail564;
    1652       122378 :       {
    1653       122378 :         tree _r;
    1654       122378 :         _r =  constant_boolean_node (false, type);
    1655       122378 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1656            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1657       122378 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 458, __FILE__, __LINE__, true);
    1658       122378 :         return _r;
    1659              :       }
    1660            0 : next_after_fail564:;
    1661              :     }
    1662              :   return NULL_TREE;
    1663              : }
    1664              : 
    1665              : tree
    1666            0 : generic_simplify_305 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1667              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1668              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
    1669              : {
    1670            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1671            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail569;
    1672            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail569;
    1673            0 :   {
    1674            0 :     tree _r;
    1675            0 :     _r = captures[1];
    1676            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 463, __FILE__, __LINE__, true);
    1677              :     return _r;
    1678              :   }
    1679              : next_after_fail569:;
    1680              :   return NULL_TREE;
    1681              : }
    1682              : 
    1683              : tree
    1684          896 : generic_simplify_312 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1685              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1686              :  const enum tree_code ARG_UNUSED (div))
    1687              : {
    1688          896 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1689         1792 :   if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
    1690          896 :  && !integer_zerop (captures[0])
    1691         1163 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
    1692              : )
    1693              :     {
    1694          111 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail578;
    1695          111 :       {
    1696          111 :         tree _r;
    1697          111 :         _r =  build_one_cst (type);
    1698          111 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1699            2 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1700          111 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 470, __FILE__, __LINE__, true);
    1701          111 :         return _r;
    1702              :       }
    1703            0 : next_after_fail578:;
    1704              :     }
    1705              :   return NULL_TREE;
    1706              : }
    1707              : 
    1708              : tree
    1709          192 : generic_simplify_318 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1710              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1711              :  const enum tree_code ARG_UNUSED (div))
    1712              : {
    1713          192 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1714          192 :   if (ANY_INTEGRAL_TYPE_P (type)
    1715              : )
    1716              :     {
    1717          192 :       if (TYPE_OVERFLOW_UNDEFINED (type) && !TYPE_OVERFLOW_SANITIZED (type)
    1718              : )
    1719              :         {
    1720          164 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail585;
    1721          164 :           {
    1722          164 :             tree _r;
    1723          164 :             _r = captures[1];
    1724          164 :             if (TREE_SIDE_EFFECTS (captures[2]))
    1725            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1726          164 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 477, __FILE__, __LINE__, true);
    1727          164 :             return _r;
    1728              :           }
    1729            0 : next_after_fail585:;
    1730              :         }
    1731              :     }
    1732              :   return NULL_TREE;
    1733              : }
    1734              : 
    1735              : tree
    1736          919 : generic_simplify_321 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1737              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1738              :  const enum tree_code ARG_UNUSED (mod))
    1739              : {
    1740          919 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1741          919 :   if (!integer_zerop (captures[1])
    1742              : )
    1743              :     {
    1744          785 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail588;
    1745          785 :       {
    1746          785 :         tree _r;
    1747          785 :         _r = captures[0];
    1748          785 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1749           74 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1750          785 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 480, __FILE__, __LINE__, true);
    1751          785 :         return _r;
    1752              :       }
    1753            0 : next_after_fail588:;
    1754              :     }
    1755              :   return NULL_TREE;
    1756              : }
    1757              : 
    1758              : tree
    1759            0 : generic_simplify_329 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1760              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1761              : {
    1762            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1763            0 :   if (SCALAR_FLOAT_TYPE_P (type)
    1764            0 :  && ! HONOR_NANS (type)
    1765            0 :  && ! HONOR_INFINITIES (type)
    1766              : )
    1767              :     {
    1768            0 :       if (types_match (type, float_type_node)
    1769              : )
    1770              :         {
    1771            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail596;
    1772            0 :           {
    1773            0 :             tree res_op0;
    1774            0 :             res_op0 =  build_one_cst (type);
    1775            0 :             tree res_op1;
    1776            0 :             {
    1777            0 :               tree _o1[1], _r1;
    1778            0 :               _o1[0] = captures[0];
    1779            0 :               if (TREE_TYPE (_o1[0]) != type)
    1780              :                 {
    1781            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1782              :                 }
    1783              :               else
    1784              :                 _r1 = _o1[0];
    1785            0 :               res_op1 = _r1;
    1786              :             }
    1787            0 :             tree _r;
    1788            0 :             _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNF, type, 2, res_op0, res_op1);
    1789            0 :             if (!_r)
    1790            0 :               goto next_after_fail596;
    1791            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 488, __FILE__, __LINE__, true);
    1792            0 :             return _r;
    1793              :           }
    1794              : next_after_fail596:;
    1795              :         }
    1796              :       else
    1797              :         {
    1798            0 :           if (types_match (type, double_type_node)
    1799              : )
    1800              :             {
    1801            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail597;
    1802            0 :               {
    1803            0 :                 tree res_op0;
    1804            0 :                 res_op0 =  build_one_cst (type);
    1805            0 :                 tree res_op1;
    1806            0 :                 {
    1807            0 :                   tree _o1[1], _r1;
    1808            0 :                   _o1[0] = captures[0];
    1809            0 :                   if (TREE_TYPE (_o1[0]) != type)
    1810              :                     {
    1811            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1812              :                     }
    1813              :                   else
    1814              :                     _r1 = _o1[0];
    1815            0 :                   res_op1 = _r1;
    1816              :                 }
    1817            0 :                 tree _r;
    1818            0 :                 _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGN, type, 2, res_op0, res_op1);
    1819            0 :                 if (!_r)
    1820            0 :                   goto next_after_fail597;
    1821            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 489, __FILE__, __LINE__, true);
    1822            0 :                 return _r;
    1823              :               }
    1824              : next_after_fail597:;
    1825              :             }
    1826              :           else
    1827              :             {
    1828            0 :               if (types_match (type, long_double_type_node)
    1829              : )
    1830              :                 {
    1831            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail598;
    1832            0 :                   {
    1833            0 :                     tree res_op0;
    1834            0 :                     res_op0 =  build_one_cst (type);
    1835            0 :                     tree res_op1;
    1836            0 :                     {
    1837            0 :                       tree _o1[1], _r1;
    1838            0 :                       _o1[0] = captures[0];
    1839            0 :                       if (TREE_TYPE (_o1[0]) != type)
    1840              :                         {
    1841            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1842              :                         }
    1843              :                       else
    1844              :                         _r1 = _o1[0];
    1845            0 :                       res_op1 = _r1;
    1846              :                     }
    1847            0 :                     tree _r;
    1848            0 :                     _r = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_COPYSIGNL, type, 2, res_op0, res_op1);
    1849            0 :                     if (!_r)
    1850            0 :                       goto next_after_fail598;
    1851            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 490, __FILE__, __LINE__, true);
    1852            0 :                     return _r;
    1853              :                   }
    1854              : next_after_fail598:;
    1855              :                 }
    1856              :             }
    1857              :         }
    1858              :     }
    1859              :   return NULL_TREE;
    1860              : }
    1861              : 
    1862              : tree
    1863          184 : generic_simplify_350 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1864              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1865              :  const enum tree_code ARG_UNUSED (op))
    1866              : {
    1867          184 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1868          184 :   if (bitwise_equal_p (captures[0], captures[3])
    1869          184 :  && expr_no_side_effects_p (captures[2])
    1870              : )
    1871              :     {
    1872            1 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail625;
    1873            1 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail625;
    1874            1 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail625;
    1875            1 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail625;
    1876            1 :       {
    1877            1 :         tree _r;
    1878            1 :         _r = captures[1];
    1879            1 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 516, __FILE__, __LINE__, true);
    1880            1 :         return _r;
    1881              :       }
    1882              : next_after_fail625:;
    1883              :     }
    1884              :   return NULL_TREE;
    1885              : }
    1886              : 
    1887              : tree
    1888            0 : generic_simplify_353 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1889              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1890              : {
    1891            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1892            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail628;
    1893            0 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail628;
    1894            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail628;
    1895            0 :   {
    1896            0 :     tree _r;
    1897            0 :     _r = captures[2];
    1898            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
    1899              :     return _r;
    1900              :   }
    1901              : next_after_fail628:;
    1902              :   return NULL_TREE;
    1903              : }
    1904              : 
    1905              : tree
    1906            0 : generic_simplify_361 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1907              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1908              : {
    1909            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1910            0 :   if (INTEGRAL_TYPE_P (type)
    1911              : )
    1912              :     {
    1913            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail636;
    1914            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail636;
    1915            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail636;
    1916            0 :       {
    1917            0 :         tree _r;
    1918            0 :         _r = captures[2];
    1919            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 527, __FILE__, __LINE__, true);
    1920            0 :         return _r;
    1921              :       }
    1922              : next_after_fail636:;
    1923              :     }
    1924              :   return NULL_TREE;
    1925              : }
    1926              : 
    1927              : tree
    1928           22 : generic_simplify_368 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1929              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1930              :  const enum tree_code ARG_UNUSED (cmp))
    1931              : {
    1932           22 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1933           22 :   if (INTEGRAL_TYPE_P (type)
    1934           22 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1935           22 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1936           44 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
    1937              : )
    1938              :     {
    1939           22 :       {
    1940           22 :  tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
    1941           22 :           if (cmp == LT_EXPR
    1942              : )
    1943              :             {
    1944           13 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail644;
    1945           13 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail644;
    1946           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail644;
    1947           13 :               {
    1948           13 :                 tree res_op0;
    1949           13 :                 {
    1950           13 :                   tree _o1[1], _r1;
    1951           13 :                   {
    1952           13 :                     tree _o2[2], _r2;
    1953           13 :                     _o2[0] = captures[0];
    1954           13 :                     _o2[1] = shifter;
    1955           13 :                     _r2 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1956           13 :                     _o1[0] = _r2;
    1957              :                   }
    1958           13 :                   if (TREE_TYPE (_o1[0]) != type)
    1959              :                     {
    1960            1 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1961              :                     }
    1962              :                   else
    1963              :                     _r1 = _o1[0];
    1964           13 :                   res_op0 = _r1;
    1965              :                 }
    1966           13 :                 tree res_op1;
    1967           13 :                 res_op1 = captures[1];
    1968           13 :                 tree _r;
    1969           13 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    1970           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 534, __FILE__, __LINE__, true);
    1971           13 :                 return _r;
    1972              :               }
    1973              : next_after_fail644:;
    1974              :             }
    1975              :           else
    1976              :             {
    1977            9 :               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail645;
    1978            9 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail645;
    1979            9 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail645;
    1980            9 :               {
    1981            9 :                 tree res_op0;
    1982            9 :                 {
    1983            9 :                   tree _o1[2], _r1;
    1984            9 :                   {
    1985            9 :                     tree _o2[1], _r2;
    1986            9 :                     {
    1987            9 :                       tree _o3[2], _r3;
    1988            9 :                       _o3[0] = captures[0];
    1989            9 :                       _o3[1] = shifter;
    1990            9 :                       _r3 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1991            9 :                       _o2[0] = _r3;
    1992              :                     }
    1993            9 :                     if (TREE_TYPE (_o2[0]) != type)
    1994              :                       {
    1995            1 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    1996              :                       }
    1997              :                     else
    1998              :                       _r2 = _o2[0];
    1999            9 :                     _o1[0] = _r2;
    2000              :                   }
    2001            9 :                   _o1[1] = captures[1];
    2002            9 :                   _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2003            9 :                   res_op0 = _r1;
    2004              :                 }
    2005            9 :                 tree _r;
    2006            9 :                 _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
    2007            9 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
    2008            9 :                 return _r;
    2009              :               }
    2010              : next_after_fail645:;
    2011              :             }
    2012              :       }
    2013              :     }
    2014              :   return NULL_TREE;
    2015              : }
    2016              : 
    2017              : tree
    2018     22945952 : generic_simplify_386 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2019              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2020              :  const enum tree_code ARG_UNUSED (cmp))
    2021              : {
    2022     22945952 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2023     45885932 :   if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2024        10964 :  || POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2025         2507 :  || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
    2026     45885932 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2027              : )
    2028              :     {
    2029     22945952 :       {
    2030     22945952 :  tree cst = uniform_integer_cst_p (captures[2]);
    2031     22945952 :  tree arg1_type = TREE_TYPE (cst);
    2032     22945952 :  unsigned int prec = TYPE_PRECISION (arg1_type);
    2033     22945952 :  wide_int max = wi::max_value (arg1_type);
    2034     22945952 :  wide_int signed_max = wi::max_value (prec, SIGNED);
    2035     22945952 :  wide_int min = wi::min_value (arg1_type);
    2036     22945952 :           if (wi::to_wide (cst) == max
    2037              : )
    2038              :             {
    2039       191745 :               if (cmp == GT_EXPR
    2040              : )
    2041              :                 {
    2042       120954 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail684;
    2043       120954 :                   {
    2044       120954 :                     tree _r;
    2045       120954 :                     _r =  constant_boolean_node (false, type);
    2046       120954 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    2047           80 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2048       120954 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2049            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2050       120954 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 558, __FILE__, __LINE__, true);
    2051       120954 :                     return _r;
    2052              :                   }
    2053            0 : next_after_fail684:;
    2054              :                 }
    2055              :               else
    2056              :                 {
    2057        70791 :                   if (cmp == GE_EXPR
    2058              : )
    2059              :                     {
    2060            7 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail685;
    2061            7 :                       {
    2062            7 :                         tree res_op0;
    2063            7 :                         res_op0 = captures[0];
    2064            7 :                         tree res_op1;
    2065            7 :                         res_op1 = captures[2];
    2066            7 :                         tree _r;
    2067            7 :                         _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2068            7 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 559, __FILE__, __LINE__, true);
    2069            7 :                         return _r;
    2070              :                       }
    2071            0 : next_after_fail685:;
    2072              :                     }
    2073              :                   else
    2074              :                     {
    2075        70784 :                       if (cmp == LE_EXPR
    2076              : )
    2077              :                         {
    2078        70774 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail686;
    2079        70774 :                           {
    2080        70774 :                             tree _r;
    2081        70774 :                             _r =  constant_boolean_node (true, type);
    2082        70774 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2083           23 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2084        70774 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2085            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2086        70774 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 560, __FILE__, __LINE__, true);
    2087        70774 :                             return _r;
    2088              :                           }
    2089            0 : next_after_fail686:;
    2090              :                         }
    2091              :                       else
    2092              :                         {
    2093           10 :                           if (cmp == LT_EXPR
    2094              : )
    2095              :                             {
    2096           10 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail687;
    2097           10 :                               {
    2098           10 :                                 tree res_op0;
    2099           10 :                                 res_op0 = captures[0];
    2100           10 :                                 tree res_op1;
    2101           10 :                                 res_op1 = captures[2];
    2102           10 :                                 tree _r;
    2103           10 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2104           10 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 561, __FILE__, __LINE__, true);
    2105           10 :                                 return _r;
    2106              :                               }
    2107            0 : next_after_fail687:;
    2108              :                             }
    2109              :                         }
    2110              :                     }
    2111              :                 }
    2112              :             }
    2113              :           else
    2114              :             {
    2115     22754207 :               if (wi::to_wide (cst) == min
    2116              : )
    2117              :                 {
    2118      1571249 :                   if (cmp == LT_EXPR
    2119              : )
    2120              :                     {
    2121       582392 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail688;
    2122       582392 :                       {
    2123       582392 :                         tree _r;
    2124       582392 :                         _r =  constant_boolean_node (false, type);
    2125       582392 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    2126           38 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2127       582392 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2128            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2129       582392 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 562, __FILE__, __LINE__, true);
    2130       582392 :                         return _r;
    2131              :                       }
    2132            0 : next_after_fail688:;
    2133              :                     }
    2134              :                   else
    2135              :                     {
    2136       988857 :                       if (cmp == LE_EXPR
    2137              : )
    2138              :                         {
    2139       118991 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail689;
    2140       118991 :                           {
    2141       118991 :                             tree res_op0;
    2142       118991 :                             res_op0 = captures[0];
    2143       118991 :                             tree res_op1;
    2144       118991 :                             res_op1 = captures[2];
    2145       118991 :                             tree _r;
    2146       118991 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2147       118991 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 563, __FILE__, __LINE__, true);
    2148       118991 :                             return _r;
    2149              :                           }
    2150            0 : next_after_fail689:;
    2151              :                         }
    2152              :                       else
    2153              :                         {
    2154       869866 :                           if (cmp == GE_EXPR
    2155              : )
    2156              :                             {
    2157       272226 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail690;
    2158       272226 :                               {
    2159       272226 :                                 tree _r;
    2160       272226 :                                 _r =  constant_boolean_node (true, type);
    2161       272226 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    2162          125 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2163       272226 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2164            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2165       272226 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    2166       272226 :                                 return _r;
    2167              :                               }
    2168            0 : next_after_fail690:;
    2169              :                             }
    2170              :                           else
    2171              :                             {
    2172       597640 :                               if (cmp == GT_EXPR
    2173              : )
    2174              :                                 {
    2175       597640 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail691;
    2176       597640 :                                   {
    2177       597640 :                                     tree res_op0;
    2178       597640 :                                     res_op0 = captures[0];
    2179       597640 :                                     tree res_op1;
    2180       597640 :                                     res_op1 = captures[2];
    2181       597640 :                                     tree _r;
    2182       597640 :                                     _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2183       597640 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 565, __FILE__, __LINE__, true);
    2184       597640 :                                     return _r;
    2185              :                                   }
    2186            0 : next_after_fail691:;
    2187              :                                 }
    2188              :                             }
    2189              :                         }
    2190              :                     }
    2191              :                 }
    2192              :               else
    2193              :                 {
    2194     21182963 :                   if (wi::to_wide (cst) == max - 1
    2195              : )
    2196              :                     {
    2197       410446 :                       if (cmp == GT_EXPR
    2198              : )
    2199              :                         {
    2200       154871 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail692;
    2201       154871 :                           {
    2202       154871 :                             tree res_op0;
    2203       154871 :                             res_op0 = captures[0];
    2204       154871 :                             tree res_op1;
    2205       154871 :                             res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2206       154871 :  wide_int_to_tree (TREE_TYPE (cst),
    2207       154871 :  wi::to_wide (cst)
    2208       309742 :  + 1));
    2209       154871 :                             tree _r;
    2210       154871 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2211       154871 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2212            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2213       154871 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 566, __FILE__, __LINE__, true);
    2214       154871 :                             return _r;
    2215              :                           }
    2216            0 : next_after_fail692:;
    2217              :                         }
    2218              :                       else
    2219              :                         {
    2220       255575 :                           if (cmp == LE_EXPR
    2221              : )
    2222              :                             {
    2223       255575 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail693;
    2224       255575 :                               {
    2225       255575 :                                 tree res_op0;
    2226       255575 :                                 res_op0 = captures[0];
    2227       255575 :                                 tree res_op1;
    2228       255575 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2229       255575 :  wide_int_to_tree (TREE_TYPE (cst),
    2230       255575 :  wi::to_wide (cst)
    2231       511150 :  + 1));
    2232       255575 :                                 tree _r;
    2233       255575 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2234       255575 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2235            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2236       255575 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2237       255575 :                                 return _r;
    2238              :                               }
    2239            0 : next_after_fail693:;
    2240              :                             }
    2241              :                         }
    2242              :                     }
    2243              :                   else
    2244              :                     {
    2245     20772517 :                       if (wi::to_wide (cst) == min + 1
    2246              : )
    2247              :                         {
    2248       731832 :                           if (cmp == GE_EXPR
    2249              : )
    2250              :                             {
    2251        59437 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail694;
    2252        59437 :                               {
    2253        59437 :                                 tree res_op0;
    2254        59437 :                                 res_op0 = captures[0];
    2255        59437 :                                 tree res_op1;
    2256        59437 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2257        59437 :  wide_int_to_tree (TREE_TYPE (cst),
    2258        59437 :  wi::to_wide (cst)
    2259       118874 :  - 1));
    2260        59437 :                                 tree _r;
    2261        59437 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2262        59437 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2263            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2264        59437 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2265        59437 :                                 return _r;
    2266              :                               }
    2267            0 : next_after_fail694:;
    2268              :                             }
    2269              :                           else
    2270              :                             {
    2271       672395 :                               if (cmp == LT_EXPR
    2272              : )
    2273              :                                 {
    2274        28650 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail695;
    2275        28650 :                                   {
    2276        28650 :                                     tree res_op0;
    2277        28650 :                                     res_op0 = captures[0];
    2278        28650 :                                     tree res_op1;
    2279        28650 :                                     res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2280        28650 :  wide_int_to_tree (TREE_TYPE (cst),
    2281        28650 :  wi::to_wide (cst)
    2282        57300 :  - 1));
    2283        28650 :                                     tree _r;
    2284        28650 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2285        28650 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2286            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2287        28650 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 569, __FILE__, __LINE__, true);
    2288        28650 :                                     return _r;
    2289              :                                   }
    2290            0 : next_after_fail695:;
    2291              :                                 }
    2292              :                             }
    2293              :                         }
    2294              :                       else
    2295              :                         {
    2296     20040680 :                           if (wi::to_wide (cst) == signed_max
    2297       161951 :  && TYPE_UNSIGNED (arg1_type)
    2298       161951 :  && TYPE_MODE (arg1_type) != BLKmode
    2299     20040687 :  && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
    2300     20202058 :  && INTEGRAL_TYPE_P (arg1_type)
    2301              : )
    2302              :                             {
    2303       161371 :                               if (cmp == LE_EXPR || cmp == GT_EXPR
    2304              : )
    2305              :                                 {
    2306       161371 :                                   {
    2307       161371 :  tree st = signed_type_for (TREE_TYPE (captures[2]));
    2308       161371 :                                       if (cst == captures[2] && cmp == LE_EXPR
    2309              : )
    2310              :                                         {
    2311       113047 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail696;
    2312       113047 :                                           {
    2313       113047 :                                             tree res_op0;
    2314       113047 :                                             {
    2315       113047 :                                               tree _o1[1], _r1;
    2316       113047 :                                               _o1[0] = captures[1];
    2317       113047 :                                               if (TREE_TYPE (_o1[0]) != st)
    2318              :                                                 {
    2319       113047 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2320              :                                                 }
    2321              :                                               else
    2322              :                                                 _r1 = _o1[0];
    2323       113047 :                                               res_op0 = _r1;
    2324              :                                             }
    2325       113047 :                                             tree res_op1;
    2326       113047 :                                             res_op1 =  build_zero_cst (st);
    2327       113047 :                                             tree _r;
    2328       113047 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2329       113047 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    2330            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2331       113047 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
    2332       113047 :                                             return _r;
    2333              :                                           }
    2334            0 : next_after_fail696:;
    2335            0 :                                         }
    2336              :                                       else
    2337              :                                         {
    2338        48324 :                                           if (cst == captures[2] && cmp == GT_EXPR
    2339              : )
    2340              :                                             {
    2341        48238 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
    2342        48238 :                                               {
    2343        48238 :                                                 tree res_op0;
    2344        48238 :                                                 {
    2345        48238 :                                                   tree _o1[1], _r1;
    2346        48238 :                                                   _o1[0] = captures[1];
    2347        48238 :                                                   if (TREE_TYPE (_o1[0]) != st)
    2348              :                                                     {
    2349        48238 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2350              :                                                     }
    2351              :                                                   else
    2352              :                                                     _r1 = _o1[0];
    2353        48238 :                                                   res_op0 = _r1;
    2354              :                                                 }
    2355        48238 :                                                 tree res_op1;
    2356        48238 :                                                 res_op1 =  build_zero_cst (st);
    2357        48238 :                                                 tree _r;
    2358        48238 :                                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2359        48238 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2360            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2361        48238 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 571, __FILE__, __LINE__, true);
    2362        48238 :                                                 return _r;
    2363              :                                               }
    2364            0 : next_after_fail697:;
    2365            0 :                                             }
    2366              :                                           else
    2367              :                                             {
    2368           86 :                                               if (cmp == LE_EXPR
    2369              : )
    2370              :                                                 {
    2371           30 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail698;
    2372           30 :                                                   {
    2373           30 :                                                     tree res_op0;
    2374           30 :                                                     {
    2375           30 :                                                       tree _o1[1], _r1;
    2376           30 :                                                       _o1[0] = captures[1];
    2377           30 :                                                       if (TREE_TYPE (_o1[0]) != st)
    2378              :                                                         {
    2379           30 :                                                           _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2380              :                                                         }
    2381              :                                                       else
    2382              :                                                         _r1 = _o1[0];
    2383           30 :                                                       res_op0 = _r1;
    2384              :                                                     }
    2385           30 :                                                     tree res_op1;
    2386           30 :                                                     res_op1 =  build_zero_cst (st);
    2387           30 :                                                     tree _r;
    2388           30 :                                                     _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2389           30 :                                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2390            0 :                                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2391           30 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
    2392           30 :                                                     return _r;
    2393              :                                                   }
    2394            0 : next_after_fail698:;
    2395              :                                                 }
    2396              :                                               else
    2397              :                                                 {
    2398           56 :                                                   if (cmp == GT_EXPR
    2399              : )
    2400              :                                                     {
    2401           56 :                                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail699;
    2402           56 :                                                       {
    2403           56 :                                                         tree res_op0;
    2404           56 :                                                         {
    2405           56 :                                                           tree _o1[1], _r1;
    2406           56 :                                                           _o1[0] = captures[1];
    2407           56 :                                                           if (TREE_TYPE (_o1[0]) != st)
    2408              :                                                             {
    2409           56 :                                                               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
    2410              :                                                             }
    2411              :                                                           else
    2412              :                                                             _r1 = _o1[0];
    2413           56 :                                                           res_op0 = _r1;
    2414              :                                                         }
    2415           56 :                                                         tree res_op1;
    2416           56 :                                                         res_op1 =  build_zero_cst (st);
    2417           56 :                                                         tree _r;
    2418           56 :                                                         _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2419           56 :                                                         if (TREE_SIDE_EFFECTS (captures[2]))
    2420            0 :                                                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2421           56 :                                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
    2422           56 :                                                         return _r;
    2423              :                                                       }
    2424            0 : next_after_fail699:;
    2425              :                                                     }
    2426              :                                                 }
    2427              :                                             }
    2428              :                                         }
    2429              :                                   }
    2430              :                                 }
    2431              :                             }
    2432              :                         }
    2433              :                     }
    2434              :                 }
    2435              :             }
    2436     22945962 :       }
    2437              :     }
    2438              :   return NULL_TREE;
    2439              : }
    2440              : 
    2441              : tree
    2442            0 : generic_simplify_444 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2443              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2444              : {
    2445            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2446            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail789;
    2447            0 :   {
    2448            0 :     tree res_op0;
    2449            0 :     res_op0 = captures[0];
    2450            0 :     tree res_op1;
    2451            0 :     res_op1 = captures[1];
    2452            0 :     tree _r;
    2453            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2454            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 644, __FILE__, __LINE__, true);
    2455              :     return _r;
    2456              :   }
    2457            0 : next_after_fail789:;
    2458            0 :   return NULL_TREE;
    2459              : }
    2460              : 
    2461              : tree
    2462          362 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2463              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2464              :  const enum tree_code ARG_UNUSED (bitop),
    2465              :  const enum tree_code ARG_UNUSED (op))
    2466              : {
    2467          362 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2468          362 :   {
    2469          362 :  tree pmop[2];
    2470          362 :  tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], ERROR_MARK,
    2471              :  NULL_TREE, NULL_TREE, captures[2], bitop, captures[3],
    2472              :  captures[4], pmop);
    2473          362 :       if (utype
    2474              : )
    2475              :         {
    2476          361 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail795;
    2477          361 :           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail795;
    2478          361 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail795;
    2479          361 :           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail795;
    2480          361 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail795;
    2481          361 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail795;
    2482          361 :           {
    2483          361 :             tree res_op0;
    2484          361 :             {
    2485          361 :               tree _o1[2], _r1;
    2486          361 :               {
    2487          361 :                 tree _o2[2], _r2;
    2488          361 :                 {
    2489          361 :                   tree _o3[1], _r3;
    2490          361 :                   _o3[0] =  pmop[0];
    2491          361 :                   if (TREE_TYPE (_o3[0]) != utype)
    2492              :                     {
    2493           14 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2494              :                     }
    2495              :                   else
    2496              :                     _r3 = _o3[0];
    2497          361 :                   _o2[0] = _r3;
    2498              :                 }
    2499          361 :                 {
    2500          361 :                   tree _o3[1], _r3;
    2501          361 :                   _o3[0] =  pmop[1];
    2502          361 :                   if (TREE_TYPE (_o3[0]) != utype)
    2503              :                     {
    2504           74 :                       _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    2505              :                     }
    2506              :                   else
    2507              :                     _r3 = _o3[0];
    2508          361 :                   _o2[1] = _r3;
    2509              :                 }
    2510          361 :                 _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2511          361 :                 _o1[0] = _r2;
    2512              :               }
    2513          361 :               {
    2514          361 :                 tree _o2[1], _r2;
    2515          361 :                 _o2[0] = captures[5];
    2516          361 :                 if (TREE_TYPE (_o2[0]) != utype)
    2517              :                   {
    2518           14 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    2519              :                   }
    2520              :                 else
    2521              :                   _r2 = _o2[0];
    2522          361 :                 _o1[1] = _r2;
    2523              :               }
    2524          361 :               _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2525          361 :               res_op0 = _r1;
    2526              :             }
    2527          361 :             tree _r;
    2528          361 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2529          361 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 649, __FILE__, __LINE__, true);
    2530          361 :             return _r;
    2531              :           }
    2532            1 : next_after_fail795:;
    2533              :         }
    2534              :   }
    2535            1 :   return NULL_TREE;
    2536              : }
    2537              : 
    2538              : tree
    2539            0 : generic_simplify_467 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2540              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2541              :  const enum tree_code ARG_UNUSED (eqne))
    2542              : {
    2543            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2544            0 :   if (eqne == EQ_EXPR
    2545              : )
    2546              :     {
    2547            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail832;
    2548            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail832;
    2549            0 :       {
    2550            0 :         tree _r;
    2551            0 :         _r =  constant_boolean_node (false, type);
    2552            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2553            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2554            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
    2555            0 :         return _r;
    2556              :       }
    2557              : next_after_fail832:;
    2558              :     }
    2559              :   else
    2560              :     {
    2561            0 :       if (eqne == NE_EXPR
    2562              : )
    2563              :         {
    2564            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail833;
    2565            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail833;
    2566            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail833;
    2567            0 :           {
    2568            0 :             tree _r;
    2569            0 :             _r = captures[0];
    2570            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2571            0 :             return _r;
    2572              :           }
    2573              : next_after_fail833:;
    2574              :         }
    2575              :     }
    2576              :   return NULL_TREE;
    2577              : }
    2578              : 
    2579              : tree
    2580            0 : generic_simplify_476 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2581              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2582              : {
    2583            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2584            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2585            0 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2586              : )
    2587              :     {
    2588            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail855;
    2589            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail855;
    2590            0 :       {
    2591            0 :         tree res_op0;
    2592            0 :         res_op0 = captures[3];
    2593            0 :         tree res_op1;
    2594            0 :         {
    2595            0 :           tree _o1[2], _r1;
    2596            0 :           _o1[0] = captures[1];
    2597            0 :           _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
    2598            0 :           _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2599            0 :           res_op1 = _r1;
    2600              :         }
    2601            0 :         tree _r;
    2602            0 :         _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
    2603            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
    2604            0 :         return _r;
    2605              :       }
    2606              : next_after_fail855:;
    2607              :     }
    2608              :   return NULL_TREE;
    2609              : }
    2610              : 
    2611              : tree
    2612       104564 : generic_simplify_481 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2613              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2614              :  const enum tree_code ARG_UNUSED (shift))
    2615              : {
    2616       104564 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2617       104564 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2618        23494 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2619        23494 :  && tree_fits_uhwi_p (captures[4])
    2620        23494 :  && tree_to_uhwi (captures[4]) > 0
    2621       128056 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2622              : )
    2623              :     {
    2624        23492 :       {
    2625        23492 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2626        23492 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2627        23492 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2628        23492 :  tree shift_type = TREE_TYPE (captures[2]);
    2629        23492 :  unsigned int prec;
    2630        23492 :  if (shift == LSHIFT_EXPR)
    2631            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2632        23492 :  else if (shift == RSHIFT_EXPR
    2633        23492 :  && type_has_mode_precision_p (shift_type))
    2634              :  {
    2635        23492 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2636        23492 :  tree arg00 = captures[3];
    2637        23492 :  if (captures[2] != captures[3]
    2638        23492 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2639              :  {
    2640            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2641            0 :  if (type_has_mode_precision_p (inner_type)
    2642            0 :  && TYPE_PRECISION (inner_type) < prec)
    2643              :  {
    2644            0 :  prec = TYPE_PRECISION (inner_type);
    2645            0 :  if (shiftc < prec)
    2646            0 :  shift_type = inner_type;
    2647              :  }
    2648              :  }
    2649        23492 :  zerobits = HOST_WIDE_INT_M1U;
    2650        23492 :  if (shiftc < prec)
    2651              :  {
    2652        23492 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2653        23492 :  zerobits <<= prec - shiftc;
    2654              :  }
    2655        23492 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2656        23492 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2657              :  {
    2658           98 :  if ((mask & zerobits) == 0)
    2659           82 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2660              :  else
    2661              :  zerobits = 0;
    2662              :  }
    2663              :  }
    2664        23476 :           if ((mask & zerobits) == mask
    2665              : )
    2666              :             {
    2667            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail866;
    2668            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail866;
    2669            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail866;
    2670            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail866;
    2671            0 :               {
    2672            0 :                 tree _r;
    2673            0 :                 _r =  build_int_cst (type, 0);
    2674            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
    2675            0 :                 return _r;
    2676              :               }
    2677              : next_after_fail866:;
    2678              :             }
    2679              :           else
    2680              :             {
    2681        23492 :               {
    2682        23492 :  newmask = mask | zerobits;
    2683        23492 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2684              : )
    2685              :                     {
    2686              :                       {
    2687          109 :  for (prec = BITS_PER_UNIT;
    2688          181 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2689          171 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2690              :  break;
    2691           72 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2692           10 :  || newmask == HOST_WIDE_INT_M1U
    2693              : )
    2694              :                             {
    2695           72 :                               {
    2696           72 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2697           72 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2698              : )
    2699              :                                     {
    2700           72 :                                       if (shift_type != TREE_TYPE (captures[2])
    2701              : )
    2702              :                                         {
    2703           11 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail867;
    2704           11 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail867;
    2705           11 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail867;
    2706           11 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail867;
    2707           11 :                                           {
    2708           11 :                                             tree res_op0;
    2709           11 :                                             {
    2710           11 :                                               tree _o1[1], _r1;
    2711           11 :                                               {
    2712           11 :                                                 tree _o2[2], _r2;
    2713           11 :                                                 {
    2714           11 :                                                   tree _o3[1], _r3;
    2715           11 :                                                   _o3[0] = captures[2];
    2716           11 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2717              :                                                     {
    2718           11 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2719              :                                                     }
    2720              :                                                   else
    2721              :                                                     _r3 = _o3[0];
    2722           11 :                                                   _o2[0] = _r3;
    2723              :                                                 }
    2724           11 :                                                 _o2[1] = captures[4];
    2725           11 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2726           11 :                                                 _o1[0] = _r2;
    2727              :                                               }
    2728           11 :                                               if (TREE_TYPE (_o1[0]) != type)
    2729              :                                                 {
    2730           11 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2731              :                                                 }
    2732              :                                               else
    2733              :                                                 _r1 = _o1[0];
    2734           11 :                                               res_op0 = _r1;
    2735              :                                             }
    2736           11 :                                             tree res_op1;
    2737           11 :                                             res_op1 =  newmaskt;
    2738           11 :                                             tree _r;
    2739           11 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2740           11 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 683, __FILE__, __LINE__, true);
    2741           11 :                                             return _r;
    2742              :                                           }
    2743              : next_after_fail867:;
    2744              :                                         }
    2745              :                                       else
    2746              :                                         {
    2747           61 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail868;
    2748           61 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail868;
    2749           61 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
    2750           61 :                                           {
    2751           61 :                                             tree res_op0;
    2752           61 :                                             res_op0 = captures[0];
    2753           61 :                                             tree res_op1;
    2754           61 :                                             res_op1 =  newmaskt;
    2755           61 :                                             tree _r;
    2756           61 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2757           61 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
    2758           61 :                                             return _r;
    2759              :                                           }
    2760              : next_after_fail868:;
    2761              :                                         }
    2762              :                                     }
    2763              :                               }
    2764              :                             }
    2765              :                       }
    2766              :                     }
    2767              :               }
    2768              :             }
    2769              :       }
    2770              :     }
    2771              :   return NULL_TREE;
    2772              : }
    2773              : 
    2774              : tree
    2775           17 : generic_simplify_492 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2776              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2777              : {
    2778           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2779           17 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail881;
    2780           17 :   {
    2781           17 :     tree res_op0;
    2782           17 :     res_op0 = captures[0];
    2783           17 :     tree res_op1;
    2784           17 :     res_op1 = captures[1];
    2785           17 :     tree _r;
    2786           17 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2787           17 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 696, __FILE__, __LINE__, true);
    2788              :     return _r;
    2789              :   }
    2790            0 : next_after_fail881:;
    2791            0 :   return NULL_TREE;
    2792              : }
    2793              : 
    2794              : tree
    2795            4 : generic_simplify_498 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2796              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2797              : {
    2798            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2799            4 :   if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2800            7 :  && (element_precision (TREE_TYPE (captures[2]))
    2801            3 :  <= element_precision (TREE_TYPE (captures[3]))
    2802            0 :  || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2803              : )
    2804              :     {
    2805            3 :       {
    2806            3 :  tree shift_type = TREE_TYPE (captures[2]);
    2807            3 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail887;
    2808            3 :           {
    2809            3 :             tree res_op0;
    2810            3 :             {
    2811            3 :               tree _o1[2], _r1;
    2812            3 :               {
    2813            3 :                 tree _o2[1], _r2;
    2814            3 :                 _o2[0] = captures[3];
    2815            3 :                 if (TREE_TYPE (_o2[0]) != shift_type)
    2816              :                   {
    2817            1 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o2[0]);
    2818              :                   }
    2819              :                 else
    2820              :                   _r2 = _o2[0];
    2821            3 :                 _o1[0] = _r2;
    2822              :               }
    2823            3 :               _o1[1] = captures[4];
    2824            3 :               _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2825            3 :               res_op0 = _r1;
    2826              :             }
    2827            3 :             tree _r;
    2828            3 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2829            3 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 698, __FILE__, __LINE__, true);
    2830            3 :             return _r;
    2831              :           }
    2832            0 : next_after_fail887:;
    2833              :       }
    2834              :     }
    2835              :   return NULL_TREE;
    2836              : }
    2837              : 
    2838              : tree
    2839          419 : generic_simplify_508 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2840              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2841              : {
    2842          419 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2843          419 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2844          419 :  && wi::to_wide (captures[1]) == element_precision (type) - 1
    2845              : )
    2846              :     {
    2847           44 :       {
    2848           44 :  tree stype = TREE_TYPE (captures[0]);
    2849           44 :  tree ntype = TYPE_UNSIGNED (stype) ? signed_type_for (stype)
    2850            9 :  : unsigned_type_for (stype);
    2851           44 :           if (VECTOR_TYPE_P (type)
    2852              : )
    2853              :             {
    2854            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail898;
    2855            0 :               {
    2856            0 :                 tree res_op0;
    2857            0 :                 {
    2858            0 :                   tree _o1[2], _r1;
    2859            0 :                   {
    2860            0 :                     tree _o2[1], _r2;
    2861            0 :                     _o2[0] = captures[0];
    2862            0 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2863              :                       {
    2864            0 :                         _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o2[0]);
    2865              :                       }
    2866              :                     else
    2867              :                       _r2 = _o2[0];
    2868            0 :                     _o1[0] = _r2;
    2869              :                   }
    2870            0 :                   _o1[1] = captures[1];
    2871            0 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2872            0 :                   res_op0 = _r1;
    2873              :                 }
    2874            0 :                 tree _r;
    2875            0 :                 _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    2876            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 711, __FILE__, __LINE__, true);
    2877            0 :                 return _r;
    2878              :               }
    2879            0 : next_after_fail898:;
    2880              :             }
    2881              :           else
    2882              :             {
    2883           44 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail899;
    2884           44 :               {
    2885           44 :                 tree res_op0;
    2886           44 :                 {
    2887           44 :                   tree _o1[2], _r1;
    2888           44 :                   {
    2889           44 :                     tree _o2[1], _r2;
    2890           44 :                     _o2[0] = captures[0];
    2891           44 :                     if (TREE_TYPE (_o2[0]) != ntype)
    2892              :                       {
    2893           44 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
    2894              :                       }
    2895              :                     else
    2896              :                       _r2 = _o2[0];
    2897           44 :                     _o1[0] = _r2;
    2898              :                   }
    2899           44 :                   _o1[1] = captures[1];
    2900           44 :                   _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2901           44 :                   res_op0 = _r1;
    2902              :                 }
    2903           44 :                 tree _r;
    2904           44 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2905           44 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 712, __FILE__, __LINE__, true);
    2906           44 :                 return _r;
    2907              :               }
    2908            0 : next_after_fail899:;
    2909              :             }
    2910              :       }
    2911              :     }
    2912              :   return NULL_TREE;
    2913              : }
    2914              : 
    2915              : tree
    2916         5786 : generic_simplify_529 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2917              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2918              : {
    2919         5786 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2920        11572 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    2921         5786 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[1]))
    2922         5786 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (TREE_TYPE (captures[0])))
    2923         8082 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    2924              : )
    2925              :     {
    2926         1904 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    2927              : )
    2928              :         {
    2929          929 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail933;
    2930          929 :           {
    2931          929 :             tree res_op0;
    2932          929 :             {
    2933          929 :               tree _o1[2], _r1;
    2934          929 :               _o1[0] = captures[1];
    2935          929 :               {
    2936          929 :                 tree _o2[2], _r2;
    2937          929 :                 _o2[0] =  TYPE_MAX_VALUE (TREE_TYPE (captures[1]));
    2938          929 :                 _o2[1] = captures[2];
    2939          929 :                 _r2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    2940          929 :                 if (EXPR_P (_r2))
    2941            0 :                   goto next_after_fail933;
    2942          929 :                 _o1[1] = _r2;
    2943              :               }
    2944          929 :               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2945          929 :               res_op0 = _r1;
    2946              :             }
    2947          929 :             tree _r;
    2948          929 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2949          929 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 733, __FILE__, __LINE__, true);
    2950          929 :             return _r;
    2951              :           }
    2952              : next_after_fail933:;
    2953              :         }
    2954              :       else
    2955              :         {
    2956          975 :           if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
    2957              : )
    2958              :             {
    2959          975 :               if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && integer_minus_onep (captures[2])
    2960              : )
    2961              :                 {
    2962           56 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail934;
    2963           56 :                   {
    2964           56 :                     tree res_op0;
    2965           56 :                     {
    2966           56 :                       tree _o1[2], _r1;
    2967           56 :                       _o1[0] = captures[1];
    2968           56 :                       _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
    2969           56 :                       _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    2970           56 :                       res_op0 = _r1;
    2971              :                     }
    2972           56 :                     tree _r;
    2973           56 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2974           56 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2975            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2976           56 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 734, __FILE__, __LINE__, true);
    2977           56 :                     return _r;
    2978              :                   }
    2979            0 : next_after_fail934:;
    2980              :                 }
    2981              :               else
    2982              :                 {
    2983          919 :                   {
    2984          919 :  tree div = fold_convert (TREE_TYPE (captures[1]), captures[2]);
    2985         1838 :  tree lo = int_const_binop (TRUNC_DIV_EXPR,
    2986          919 :  TYPE_MIN_VALUE (TREE_TYPE (captures[1])), div);
    2987         1838 :  tree hi = int_const_binop (TRUNC_DIV_EXPR,
    2988          919 :  TYPE_MAX_VALUE (TREE_TYPE (captures[1])), div);
    2989          919 :  tree etype = range_check_type (TREE_TYPE (captures[1]));
    2990          919 :  if (etype)
    2991              :  {
    2992          919 :  if (wi::neg_p (wi::to_wide (div)))
    2993           88 :  std::swap (lo, hi);
    2994          919 :  lo = fold_convert (etype, lo);
    2995          919 :  hi = fold_convert (etype, hi);
    2996          919 :  hi = int_const_binop (MINUS_EXPR, hi, lo);
    2997              :  }
    2998          919 :                       if (etype
    2999              : )
    3000              :                         {
    3001          919 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail935;
    3002          919 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail935;
    3003          919 :                           {
    3004          919 :                             tree res_op0;
    3005          919 :                             {
    3006          919 :                               tree _o1[2], _r1;
    3007          919 :                               {
    3008          919 :                                 tree _o2[2], _r2;
    3009          919 :                                 {
    3010          919 :                                   tree _o3[1], _r3;
    3011          919 :                                   _o3[0] = captures[1];
    3012          919 :                                   if (TREE_TYPE (_o3[0]) != etype)
    3013              :                                     {
    3014          919 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, etype, _o3[0]);
    3015              :                                     }
    3016              :                                   else
    3017              :                                     _r3 = _o3[0];
    3018          919 :                                   _o2[0] = _r3;
    3019              :                                 }
    3020          919 :                                 _o2[1] =  lo;
    3021          919 :                                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3022          919 :                                 _o1[0] = _r2;
    3023              :                               }
    3024          919 :                               _o1[1] =  hi;
    3025          919 :                               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3026          919 :                               res_op0 = _r1;
    3027              :                             }
    3028          919 :                             tree _r;
    3029          919 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3030          919 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 735, __FILE__, __LINE__, true);
    3031          919 :                             return _r;
    3032              :                           }
    3033              : next_after_fail935:;
    3034              :                         }
    3035              :                   }
    3036              :                 }
    3037              :             }
    3038              :         }
    3039              :     }
    3040              :   return NULL_TREE;
    3041              : }
    3042              : 
    3043              : tree
    3044            0 : generic_simplify_558 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3045              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3046              :  const combined_fn ARG_UNUSED (sins),
    3047              :  const combined_fn ARG_UNUSED (atans),
    3048              :  const combined_fn ARG_UNUSED (sqrts),
    3049              :  const combined_fn ARG_UNUSED (copysigns))
    3050              : {
    3051            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3052            0 :   {
    3053            0 :  REAL_VALUE_TYPE r_cst;
    3054            0 :  build_sinatan_real (&r_cst, type);
    3055            0 :  tree t_cst = build_real (type, r_cst);
    3056            0 :  tree t_one = build_one_cst (type);
    3057            0 :       if (SCALAR_FLOAT_TYPE_P (type)
    3058              : )
    3059              :         {
    3060            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail964;
    3061            0 :           {
    3062            0 :             if (! tree_invariant_p (captures[1])) goto next_after_fail964;
    3063            0 :             tree res_op0;
    3064            0 :             {
    3065            0 :               tree _o1[2], _r1;
    3066            0 :               {
    3067            0 :                 tree _o2[1], _r2;
    3068            0 :                 _o2[0] = unshare_expr (captures[1]);
    3069            0 :                 _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3070            0 :                 _o1[0] = _r2;
    3071              :               }
    3072            0 :               _o1[1] =  t_cst;
    3073            0 :               _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3074            0 :               res_op0 = _r1;
    3075              :             }
    3076            0 :             tree res_op1;
    3077            0 :             {
    3078            0 :               tree _o1[2], _r1;
    3079            0 :               _o1[0] = unshare_expr (captures[1]);
    3080            0 :               {
    3081            0 :                 tree _o2[1], _r2;
    3082            0 :                 {
    3083            0 :                   tree _o3[2], _r3;
    3084            0 :                   {
    3085            0 :                     tree _o4[2], _r4;
    3086            0 :                     _o4[0] = unshare_expr (captures[1]);
    3087            0 :                     _o4[1] = unshare_expr (captures[1]);
    3088            0 :                     _r4 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
    3089            0 :                     _o3[0] = _r4;
    3090              :                   }
    3091            0 :                   _o3[1] =  t_one;
    3092            0 :                   _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    3093            0 :                   _o2[0] = _r3;
    3094              :                 }
    3095            0 :                 _r2 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o2[0]), 1, _o2[0]);
    3096            0 :                 if (!_r2)
    3097            0 :                   goto next_after_fail964;
    3098            0 :                 _o1[1] = _r2;
    3099              :               }
    3100            0 :               _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3101            0 :               res_op1 = _r1;
    3102              :             }
    3103            0 :             tree res_op2;
    3104            0 :             {
    3105            0 :               tree _o1[2], _r1;
    3106            0 :               _o1[0] =  t_one;
    3107            0 :               _o1[1] = captures[1];
    3108            0 :               _r1 = maybe_build_call_expr_loc (loc, copysigns, TREE_TYPE (_o1[0]), 2, _o1[0], _o1[1]);
    3109            0 :               if (!_r1)
    3110            0 :                 goto next_after_fail964;
    3111            0 :               res_op2 = _r1;
    3112              :             }
    3113            0 :             tree _r;
    3114            0 :             _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    3115            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 759, __FILE__, __LINE__, true);
    3116            0 :             return _r;
    3117              :           }
    3118            0 : next_after_fail964:;
    3119              :         }
    3120              :   }
    3121            0 :   return NULL_TREE;
    3122              : }
    3123              : 
    3124              : tree
    3125            0 : generic_simplify_585 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3126              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures),
    3127              :  const combined_fn ARG_UNUSED (fmas))
    3128              : {
    3129            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3130            0 :   if (canonicalize_math_after_vectorization_p ()
    3131              : )
    3132              :     {
    3133              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail991;
    3134              :       {
    3135              :         tree res_op0;
    3136              :         res_op0 = captures[0];
    3137              :         tree res_op1;
    3138              :         res_op1 = captures[1];
    3139              :         tree res_op2;
    3140              :         res_op2 = captures[2];
    3141              :         tree res_op3;
    3142              :         res_op3 = captures[3];
    3143              :         tree res_op4;
    3144              :         res_op4 = captures[4];
    3145              :         tree _r;
    3146              :         _r = maybe_build_call_expr_loc (loc, CFN_COND_FNMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
    3147              :         if (!_r)
    3148              :           goto next_after_fail991;
    3149              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 786, __FILE__, __LINE__, true);
    3150              :         return _r;
    3151              :       }
    3152            0 : next_after_fail991:;
    3153              :     }
    3154            0 :   return NULL_TREE;
    3155              : }
    3156              : 
    3157              : tree
    3158            0 : generic_simplify_595 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3159              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3160              :  const combined_fn ARG_UNUSED (ctz))
    3161              : {
    3162            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3163            0 :   {
    3164            0 :  tree t = TREE_TYPE (captures[0]);
    3165            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1001;
    3166            0 :       {
    3167            0 :         tree res_op0;
    3168            0 :         {
    3169            0 :           tree _o1[1], _r1;
    3170            0 :           _o1[0] = captures[1];
    3171            0 :           if (TREE_TYPE (_o1[0]) != t)
    3172              :             {
    3173            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3174              :             }
    3175              :           else
    3176              :             _r1 = _o1[0];
    3177            0 :           res_op0 = _r1;
    3178              :         }
    3179            0 :         tree _r;
    3180            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3181            0 :         if (!_r)
    3182            0 :           goto next_after_fail1001;
    3183            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
    3184              :         return _r;
    3185              :       }
    3186              : next_after_fail1001:;
    3187              :   }
    3188              :   return NULL_TREE;
    3189              : }
    3190              : 
    3191              : tree
    3192            0 : generic_simplify_605 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3193              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3194              :  const enum tree_code ARG_UNUSED (rot),
    3195              :  const combined_fn ARG_UNUSED (parity))
    3196              : {
    3197            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3198            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    3199            0 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3200            0 :  && (
    3201              : 
    3202            0 :  || !TREE_SIDE_EFFECTS (captures[3]))
    3203            0 :  && TYPE_PRECISION (TREE_TYPE (captures[0]))
    3204            0 :  >= TYPE_PRECISION (TREE_TYPE (captures[1]))
    3205              : )
    3206              :     {
    3207            0 :       {
    3208            0 :  tree type0 = TREE_TYPE (captures[0]);
    3209            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1012;
    3210            0 :           {
    3211            0 :             tree res_op0;
    3212            0 :             {
    3213            0 :               tree _o1[1], _r1;
    3214            0 :               _o1[0] = captures[2];
    3215            0 :               if (TREE_TYPE (_o1[0]) != type0)
    3216              :                 {
    3217            0 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
    3218              :                 }
    3219              :               else
    3220              :                 _r1 = _o1[0];
    3221            0 :               res_op0 = _r1;
    3222              :             }
    3223            0 :             tree _r;
    3224            0 :             _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
    3225            0 :             if (!_r)
    3226            0 :               goto next_after_fail1012;
    3227            0 :             if (TREE_SIDE_EFFECTS (captures[3]))
    3228            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    3229            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 802, __FILE__, __LINE__, true);
    3230            0 :             return _r;
    3231              :           }
    3232              : next_after_fail1012:;
    3233              :       }
    3234              :     }
    3235              :   return NULL_TREE;
    3236              : }
    3237              : 
    3238              : tree
    3239      2862758 : generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3240              : {
    3241      2862758 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3242      2862758 :   switch (TREE_CODE (_p0))
    3243              :     {
    3244         1134 :     case BIT_AND_EXPR:
    3245         1134 :       {
    3246         1134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3247         1134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3248         1134 :         switch (TREE_CODE (_q20))
    3249              :           {
    3250           33 :           case BIT_NOT_EXPR:
    3251           33 :             {
    3252           33 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3253           33 :               {
    3254           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3255           33 :                 tree res = generic_simplify_489 (loc, type, _p0, captures);
    3256           33 :                 if (res) return res;
    3257              :               }
    3258            0 :               break;
    3259              :             }
    3260         1101 :           default:;
    3261              :           }
    3262         1101 :         switch (TREE_CODE (_q21))
    3263              :           {
    3264            9 :           case BIT_NOT_EXPR:
    3265            9 :             {
    3266            9 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3267            9 :               {
    3268            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3269            9 :                 tree res = generic_simplify_489 (loc, type, _p0, captures);
    3270            9 :                 if (res) return res;
    3271              :               }
    3272            0 :               break;
    3273              :             }
    3274              :           default:;
    3275              :           }
    3276              :         break;
    3277              :       }
    3278         1209 :     case BIT_IOR_EXPR:
    3279         1209 :       {
    3280         1209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3281         1209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3282         1209 :         switch (TREE_CODE (_q20))
    3283              :           {
    3284           68 :           case BIT_NOT_EXPR:
    3285           68 :             {
    3286           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3287           68 :               {
    3288           68 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3289           68 :                 tree res = generic_simplify_490 (loc, type, _p0, captures);
    3290           68 :                 if (res) return res;
    3291              :               }
    3292            0 :               break;
    3293              :             }
    3294         1141 :           default:;
    3295              :           }
    3296         1141 :         switch (TREE_CODE (_q21))
    3297              :           {
    3298           40 :           case BIT_NOT_EXPR:
    3299           40 :             {
    3300           40 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3301           40 :               {
    3302           40 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3303           40 :                 tree res = generic_simplify_490 (loc, type, _p0, captures);
    3304           40 :                 if (res) return res;
    3305              :               }
    3306            0 :               break;
    3307              :             }
    3308              :           default:;
    3309              :           }
    3310              :         break;
    3311              :       }
    3312          148 :     case MINUS_EXPR:
    3313          148 :       {
    3314          148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3315          148 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3316          148 :         switch (TREE_CODE (_q20))
    3317              :           {
    3318            1 :           case BIT_NOT_EXPR:
    3319            1 :             {
    3320            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3321            1 :               {
    3322            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3323            1 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1048;
    3324            1 :                 {
    3325            1 :                   tree res_op0;
    3326            1 :                   res_op0 = captures[0];
    3327            1 :                   tree res_op1;
    3328            1 :                   res_op1 = captures[1];
    3329            1 :                   tree _r;
    3330            1 :                   _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3331            1 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 829, __FILE__, __LINE__, true);
    3332            1 :                   return _r;
    3333              :                 }
    3334            0 : next_after_fail1048:;
    3335              :               }
    3336            0 :               break;
    3337              :             }
    3338          147 :           default:;
    3339              :           }
    3340          147 :         {
    3341          147 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3342          147 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1049;
    3343          147 :           {
    3344          147 :             tree res_op0;
    3345          147 :             {
    3346          147 :               tree _o1[1], _r1;
    3347          147 :               _o1[0] = captures[1];
    3348          147 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3349          147 :               res_op0 = _r1;
    3350              :             }
    3351          147 :             tree res_op1;
    3352          147 :             res_op1 = captures[2];
    3353          147 :             tree _r;
    3354          147 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3355          147 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 830, __FILE__, __LINE__, true);
    3356          147 :             return _r;
    3357              :           }
    3358            0 : next_after_fail1049:;
    3359              :         }
    3360            0 :         if (integer_each_onep (_q21))
    3361              :           {
    3362            0 :             {
    3363            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3364            0 :               tree res = generic_simplify_491 (loc, type, _p0, captures);
    3365            0 :               if (res) return res;
    3366              :             }
    3367              :           }
    3368              :         break;
    3369              :       }
    3370        91878 :     case PLUS_EXPR:
    3371        91878 :       {
    3372        91878 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3373        91878 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3374        91878 :         switch (TREE_CODE (_q20))
    3375              :           {
    3376           16 :           case BIT_NOT_EXPR:
    3377           16 :             {
    3378           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3379           16 :               {
    3380           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3381           16 :                 tree res = generic_simplify_492 (loc, type, _p0, captures);
    3382           16 :                 if (res) return res;
    3383              :               }
    3384            0 :               break;
    3385              :             }
    3386        91862 :           default:;
    3387              :           }
    3388        91862 :         switch (TREE_CODE (_q21))
    3389              :           {
    3390            1 :           case BIT_NOT_EXPR:
    3391            1 :             {
    3392            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3393            1 :               {
    3394            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3395            1 :                 tree res = generic_simplify_492 (loc, type, _p0, captures);
    3396            1 :                 if (res) return res;
    3397              :               }
    3398            0 :               break;
    3399              :             }
    3400        76968 :           case INTEGER_CST:
    3401        76968 :             {
    3402        76968 :               {
    3403        76968 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3404        76968 :                 if ((INTEGRAL_TYPE_P (type)
    3405        76968 :  && TYPE_UNSIGNED (type))
    3406        89598 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3407        12622 :  && may_negate_without_overflow_p (captures[2]))
    3408              : )
    3409              :                   {
    3410        76953 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1050;
    3411        76953 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1050;
    3412        76953 :                     {
    3413        76953 :                       tree res_op0;
    3414        76953 :                       {
    3415        76953 :                         tree _o1[1], _r1;
    3416        76953 :                         _o1[0] = captures[1];
    3417        76953 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3418        76953 :                         res_op0 = _r1;
    3419              :                       }
    3420        76953 :                       tree res_op1;
    3421        76953 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3422        76953 :                       tree _r;
    3423        76953 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3424        76953 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3425        76953 :                       return _r;
    3426              :                     }
    3427           15 : next_after_fail1050:;
    3428              :                   }
    3429              :               }
    3430           15 :               break;
    3431              :             }
    3432        14908 :           default:;
    3433              :           }
    3434        14908 :       if (integer_all_onesp (_q21))
    3435              :         {
    3436            0 :           {
    3437            0 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3438            0 :             tree res = generic_simplify_493 (loc, type, _p0, captures);
    3439            0 :             if (res) return res;
    3440              :           }
    3441              :         }
    3442              :         break;
    3443              :       }
    3444          394 :     case RSHIFT_EXPR:
    3445          394 :       {
    3446          394 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3447          394 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3448          394 :         {
    3449          394 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3450          394 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3451              : )
    3452              :             {
    3453          291 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1051;
    3454          291 :               {
    3455          291 :                 tree res_op0;
    3456          291 :                 {
    3457          291 :                   tree _o1[1], _r1;
    3458          291 :                   _o1[0] = captures[1];
    3459          291 :                   _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3460          291 :                   if (EXPR_P (_r1))
    3461          285 :                     goto next_after_fail1051;
    3462            6 :                   res_op0 = _r1;
    3463              :                 }
    3464            6 :                 tree res_op1;
    3465            6 :                 res_op1 = captures[2];
    3466            6 :                 tree _r;
    3467            6 :                 _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    3468            6 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 832, __FILE__, __LINE__, true);
    3469            6 :                 return _r;
    3470              :               }
    3471          373 : next_after_fail1051:;
    3472              :             }
    3473              :           else
    3474              :             {
    3475          206 :               if (INTEGRAL_TYPE_P (type)
    3476          206 :  && !wi::neg_p (tree_nonzero_bits (captures[1]))
    3477              : )
    3478              :                 {
    3479           15 :                   {
    3480           15 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    3481           15 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1052;
    3482           15 :                       {
    3483           15 :                         tree res_op0;
    3484           15 :                         {
    3485           15 :                           tree _o1[2], _r1;
    3486           15 :                           {
    3487           15 :                             tree _o2[1], _r2;
    3488           15 :                             {
    3489           15 :                               tree _o3[1], _r3;
    3490           15 :                               _o3[0] = captures[1];
    3491           15 :                               if (TREE_TYPE (_o3[0]) != stype)
    3492              :                                 {
    3493           15 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
    3494              :                                 }
    3495              :                               else
    3496              :                                 _r3 = _o3[0];
    3497           15 :                               _o2[0] = _r3;
    3498              :                             }
    3499           15 :                             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3500           15 :                             if (EXPR_P (_r2))
    3501            0 :                               goto next_after_fail1052;
    3502           15 :                             _o1[0] = _r2;
    3503              :                           }
    3504           15 :                           _o1[1] = captures[2];
    3505           15 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3506           15 :                           res_op0 = _r1;
    3507              :                         }
    3508           15 :                         tree _r;
    3509           15 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3510           15 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
    3511           15 :                         return _r;
    3512              :                       }
    3513          373 : next_after_fail1052:;
    3514              :                   }
    3515              :                 }
    3516              :             }
    3517              :         }
    3518          373 :         switch (TREE_CODE (_q20))
    3519              :           {
    3520           40 :           CASE_CONVERT:
    3521           40 :             {
    3522           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3523           40 :               switch (TREE_CODE (_q30))
    3524              :                 {
    3525            2 :                 case BIT_NOT_EXPR:
    3526            2 :                   {
    3527            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3528            2 :                     {
    3529            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3530            2 :                       tree res = generic_simplify_494 (loc, type, _p0, captures);
    3531            2 :                       if (res) return res;
    3532              :                     }
    3533            1 :                     break;
    3534              :                   }
    3535              :                 default:;
    3536              :                 }
    3537              :               break;
    3538              :             }
    3539           29 :           case BIT_NOT_EXPR:
    3540           29 :             {
    3541           29 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3542           29 :               {
    3543           29 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3544           29 :                 tree res = generic_simplify_494 (loc, type, _p0, captures);
    3545           29 :                 if (res) return res;
    3546              :               }
    3547            8 :               break;
    3548              :             }
    3549              :           default:;
    3550              :           }
    3551              :         break;
    3552              :       }
    3553           86 :     case BIT_NOT_EXPR:
    3554           86 :       {
    3555           86 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3556           86 :         {
    3557           86 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3558           86 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1053;
    3559           86 :           {
    3560           86 :             tree res_op0;
    3561           86 :             res_op0 = captures[0];
    3562           86 :             tree _r;
    3563           86 :             _r = non_lvalue_loc (loc, res_op0);
    3564           86 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
    3565      2862758 :             return _r;
    3566              :           }
    3567            0 : next_after_fail1053:;
    3568              :         }
    3569            0 :         break;
    3570              :       }
    3571       981985 :     CASE_CONVERT:
    3572       981985 :       {
    3573       981985 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3574       981985 :         switch (TREE_CODE (_q20))
    3575              :           {
    3576           25 :           case NEGATE_EXPR:
    3577           25 :             {
    3578           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3579           25 :               {
    3580           25 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3581           25 :                 tree res = generic_simplify_495 (loc, type, _p0, captures);
    3582           25 :                 if (res) return res;
    3583              :               }
    3584            0 :               break;
    3585              :             }
    3586          892 :           case MINUS_EXPR:
    3587          892 :             {
    3588          892 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3589          892 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3590          892 :               if (integer_each_onep (_q31))
    3591              :                 {
    3592           28 :                   {
    3593           28 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3594           28 :                     tree res = generic_simplify_491 (loc, type, _p0, captures);
    3595           28 :                     if (res) return res;
    3596              :                   }
    3597              :                 }
    3598              :               break;
    3599              :             }
    3600        54399 :           case PLUS_EXPR:
    3601        54399 :             {
    3602        54399 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3603        54399 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3604        54399 :               if (integer_all_onesp (_q31))
    3605              :                 {
    3606         3914 :                   {
    3607         3914 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3608         3914 :                     tree res = generic_simplify_493 (loc, type, _p0, captures);
    3609         3914 :                     if (res) return res;
    3610              :                   }
    3611              :                 }
    3612              :               break;
    3613              :             }
    3614          145 :           case BIT_XOR_EXPR:
    3615          145 :             {
    3616          145 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3617          145 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3618          145 :               switch (TREE_CODE (_q31))
    3619              :                 {
    3620            7 :                 case INTEGER_CST:
    3621            7 :                   {
    3622            7 :                     {
    3623            7 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3624            7 :                       tree res = generic_simplify_496 (loc, type, _p0, captures);
    3625            7 :                       if (res) return res;
    3626              :                     }
    3627            0 :                     break;
    3628              :                   }
    3629          138 :                 default:;
    3630              :                 }
    3631          138 :               switch (TREE_CODE (_q30))
    3632              :                 {
    3633            0 :                 case BIT_NOT_EXPR:
    3634            0 :                   {
    3635            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3636            0 :                     {
    3637            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    3638            0 :                       tree res = generic_simplify_497 (loc, type, _p0, captures);
    3639            0 :                       if (res) return res;
    3640              :                     }
    3641            0 :                     break;
    3642              :                   }
    3643          138 :                 default:;
    3644              :                 }
    3645          138 :               switch (TREE_CODE (_q31))
    3646              :                 {
    3647            0 :                 case BIT_NOT_EXPR:
    3648            0 :                   {
    3649            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3650            0 :                     {
    3651            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3652            0 :                       tree res = generic_simplify_497 (loc, type, _p0, captures);
    3653            0 :                       if (res) return res;
    3654              :                     }
    3655            0 :                     break;
    3656              :                   }
    3657              :                 default:;
    3658              :                 }
    3659              :               break;
    3660              :             }
    3661           93 :           case RSHIFT_EXPR:
    3662           93 :             {
    3663           93 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3664           93 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3665           93 :               switch (TREE_CODE (_q30))
    3666              :                 {
    3667           17 :                 CASE_CONVERT:
    3668           17 :                   {
    3669           17 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3670           17 :                     switch (TREE_CODE (_q40))
    3671              :                       {
    3672            1 :                       case BIT_NOT_EXPR:
    3673            1 :                         {
    3674            1 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3675            1 :                           {
    3676            1 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3677            1 :                             tree res = generic_simplify_498 (loc, type, _p0, captures);
    3678            1 :                             if (res) return res;
    3679              :                           }
    3680            0 :                           break;
    3681              :                         }
    3682              :                       default:;
    3683              :                       }
    3684              :                     break;
    3685              :                   }
    3686            3 :                 case BIT_NOT_EXPR:
    3687            3 :                   {
    3688            3 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3689            3 :                     {
    3690            3 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3691            3 :                       tree res = generic_simplify_498 (loc, type, _p0, captures);
    3692            3 :                       if (res) return res;
    3693              :                     }
    3694            1 :                     break;
    3695              :                   }
    3696              :                 default:;
    3697              :                 }
    3698              :               break;
    3699              :             }
    3700            0 :           case LROTATE_EXPR:
    3701            0 :             {
    3702            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3703            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3704            0 :               switch (TREE_CODE (_q30))
    3705              :                 {
    3706            0 :                 CASE_CONVERT:
    3707            0 :                   {
    3708            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3709            0 :                     switch (TREE_CODE (_q40))
    3710              :                       {
    3711            0 :                       case BIT_NOT_EXPR:
    3712            0 :                         {
    3713            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3714            0 :                           {
    3715            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3716            0 :                             tree res = generic_simplify_499 (loc, type, _p0, captures, LROTATE_EXPR);
    3717            0 :                             if (res) return res;
    3718              :                           }
    3719            0 :                           break;
    3720              :                         }
    3721              :                       default:;
    3722              :                       }
    3723              :                     break;
    3724              :                   }
    3725            0 :                 case BIT_NOT_EXPR:
    3726            0 :                   {
    3727            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3728            0 :                     {
    3729            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3730            0 :                       tree res = generic_simplify_499 (loc, type, _p0, captures, LROTATE_EXPR);
    3731            0 :                       if (res) return res;
    3732              :                     }
    3733            0 :                     break;
    3734              :                   }
    3735              :                 default:;
    3736              :                 }
    3737              :               break;
    3738              :             }
    3739            0 :           case RROTATE_EXPR:
    3740            0 :             {
    3741            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3742            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3743            0 :               switch (TREE_CODE (_q30))
    3744              :                 {
    3745            0 :                 CASE_CONVERT:
    3746            0 :                   {
    3747            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3748            0 :                     switch (TREE_CODE (_q40))
    3749              :                       {
    3750            0 :                       case BIT_NOT_EXPR:
    3751            0 :                         {
    3752            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3753            0 :                           {
    3754            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3755            0 :                             tree res = generic_simplify_499 (loc, type, _p0, captures, RROTATE_EXPR);
    3756            0 :                             if (res) return res;
    3757              :                           }
    3758            0 :                           break;
    3759              :                         }
    3760              :                       default:;
    3761              :                       }
    3762              :                     break;
    3763              :                   }
    3764            0 :                 case BIT_NOT_EXPR:
    3765            0 :                   {
    3766            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3767            0 :                     {
    3768            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3769            0 :                       tree res = generic_simplify_499 (loc, type, _p0, captures, RROTATE_EXPR);
    3770            0 :                       if (res) return res;
    3771              :                     }
    3772            0 :                     break;
    3773              :                   }
    3774              :                 default:;
    3775              :                 }
    3776              :               break;
    3777              :             }
    3778              :           default:;
    3779              :           }
    3780              :         break;
    3781              :       }
    3782          120 :     case NEGATE_EXPR:
    3783          120 :       {
    3784          120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3785          120 :         {
    3786          120 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3787          120 :           tree res = generic_simplify_495 (loc, type, _p0, captures);
    3788          120 :           if (res) return res;
    3789              :         }
    3790            0 :         break;
    3791              :       }
    3792         1572 :     case BIT_XOR_EXPR:
    3793         1572 :       {
    3794         1572 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3795         1572 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3796         1572 :         switch (TREE_CODE (_q21))
    3797              :           {
    3798           22 :           case INTEGER_CST:
    3799           22 :             {
    3800           22 :               {
    3801           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3802           22 :                 tree res = generic_simplify_496 (loc, type, _p0, captures);
    3803           22 :                 if (res) return res;
    3804              :               }
    3805            0 :               break;
    3806              :             }
    3807         1550 :           default:;
    3808              :           }
    3809         1550 :         switch (TREE_CODE (_q20))
    3810              :           {
    3811            0 :           case BIT_NOT_EXPR:
    3812            0 :             {
    3813            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3814            0 :               {
    3815            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3816            0 :                 tree res = generic_simplify_497 (loc, type, _p0, captures);
    3817            0 :                 if (res) return res;
    3818              :               }
    3819            0 :               break;
    3820              :             }
    3821         1550 :           default:;
    3822              :           }
    3823         1550 :         switch (TREE_CODE (_q21))
    3824              :           {
    3825            0 :           case BIT_NOT_EXPR:
    3826            0 :             {
    3827            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3828            0 :               {
    3829            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3830            0 :                 tree res = generic_simplify_497 (loc, type, _p0, captures);
    3831            0 :                 if (res) return res;
    3832              :               }
    3833            0 :               break;
    3834              :             }
    3835         1550 :           default:;
    3836              :           }
    3837         1550 :         if (tree_truth_valued_p (_q20))
    3838              :           {
    3839           31 :             if (tree_truth_valued_p (_q21))
    3840              :               {
    3841            7 :                 {
    3842            7 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3843           14 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3844           14 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    3845              : )
    3846              :                     {
    3847            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1054;
    3848            0 :                       {
    3849            0 :                         tree res_op0;
    3850            0 :                         {
    3851            0 :                           tree _o1[2], _r1;
    3852            0 :                           _o1[0] = captures[1];
    3853            0 :                           _o1[1] = captures[2];
    3854            0 :                           _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3855            0 :                           res_op0 = _r1;
    3856              :                         }
    3857            0 :                         tree _r;
    3858            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3859            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 835, __FILE__, __LINE__, true);
    3860            0 :                         return _r;
    3861              :                       }
    3862            0 : next_after_fail1054:;
    3863              :                     }
    3864              :                 }
    3865              :               }
    3866              :           }
    3867              :         break;
    3868              :       }
    3869            0 :     case MIN_EXPR:
    3870            0 :       {
    3871            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3872            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3873            0 :         switch (TREE_CODE (_q20))
    3874              :           {
    3875            0 :           case BIT_NOT_EXPR:
    3876            0 :             {
    3877            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3878            0 :               {
    3879            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3880            0 :                 tree res = generic_simplify_500 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3881            0 :                 if (res) return res;
    3882              :               }
    3883            0 :               break;
    3884              :             }
    3885            0 :           default:;
    3886              :           }
    3887            0 :         switch (TREE_CODE (_q21))
    3888              :           {
    3889            0 :           case BIT_NOT_EXPR:
    3890            0 :             {
    3891            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3892            0 :               {
    3893            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3894            0 :                 tree res = generic_simplify_500 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3895            0 :                 if (res) return res;
    3896              :               }
    3897            0 :               break;
    3898              :             }
    3899              :           default:;
    3900              :           }
    3901              :         break;
    3902              :       }
    3903            0 :     case MAX_EXPR:
    3904            0 :       {
    3905            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3906            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3907            0 :         switch (TREE_CODE (_q20))
    3908              :           {
    3909            0 :           case BIT_NOT_EXPR:
    3910            0 :             {
    3911            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3912            0 :               {
    3913            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3914            0 :                 tree res = generic_simplify_500 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3915            0 :                 if (res) return res;
    3916              :               }
    3917            0 :               break;
    3918              :             }
    3919            0 :           default:;
    3920              :           }
    3921            0 :         switch (TREE_CODE (_q21))
    3922              :           {
    3923            0 :           case BIT_NOT_EXPR:
    3924            0 :             {
    3925            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3926            0 :               {
    3927            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3928            0 :                 tree res = generic_simplify_500 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3929            0 :                 if (res) return res;
    3930              :               }
    3931            0 :               break;
    3932              :             }
    3933              :           default:;
    3934              :           }
    3935              :         break;
    3936              :       }
    3937            1 :     case LROTATE_EXPR:
    3938            1 :       {
    3939            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3940            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3941            1 :         switch (TREE_CODE (_q20))
    3942              :           {
    3943            0 :           CASE_CONVERT:
    3944            0 :             {
    3945            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3946            0 :               switch (TREE_CODE (_q30))
    3947              :                 {
    3948            0 :                 case BIT_NOT_EXPR:
    3949            0 :                   {
    3950            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3951            0 :                     {
    3952            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3953            0 :                       tree res = generic_simplify_501 (loc, type, _p0, captures, LROTATE_EXPR);
    3954            0 :                       if (res) return res;
    3955              :                     }
    3956            0 :                     break;
    3957              :                   }
    3958              :                 default:;
    3959              :                 }
    3960              :               break;
    3961              :             }
    3962            1 :           case BIT_NOT_EXPR:
    3963            1 :             {
    3964            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3965            1 :               {
    3966            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3967            1 :                 tree res = generic_simplify_501 (loc, type, _p0, captures, LROTATE_EXPR);
    3968            1 :                 if (res) return res;
    3969              :               }
    3970            0 :               break;
    3971              :             }
    3972              :           default:;
    3973              :           }
    3974              :         break;
    3975              :       }
    3976            1 :     case RROTATE_EXPR:
    3977            1 :       {
    3978            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3979            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3980            1 :         switch (TREE_CODE (_q20))
    3981              :           {
    3982            0 :           CASE_CONVERT:
    3983            0 :             {
    3984            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3985            0 :               switch (TREE_CODE (_q30))
    3986              :                 {
    3987            0 :                 case BIT_NOT_EXPR:
    3988            0 :                   {
    3989            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3990            0 :                     {
    3991            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3992            0 :                       tree res = generic_simplify_501 (loc, type, _p0, captures, RROTATE_EXPR);
    3993            0 :                       if (res) return res;
    3994              :                     }
    3995            0 :                     break;
    3996              :                   }
    3997              :                 default:;
    3998              :                 }
    3999              :               break;
    4000              :             }
    4001            1 :           case BIT_NOT_EXPR:
    4002            1 :             {
    4003            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4004            1 :               {
    4005            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4006            1 :                 tree res = generic_simplify_501 (loc, type, _p0, captures, RROTATE_EXPR);
    4007            1 :                 if (res) return res;
    4008              :               }
    4009            0 :               break;
    4010              :             }
    4011              :           default:;
    4012              :           }
    4013              :         break;
    4014              :       }
    4015           32 :     case VEC_COND_EXPR:
    4016           32 :       {
    4017           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4018           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4019           32 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4020           32 :         {
    4021           32 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4022           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1055;
    4023           32 :           {
    4024           32 :             tree res_op0;
    4025           32 :             res_op0 = captures[1];
    4026           32 :             tree res_op1;
    4027           32 :             {
    4028           32 :               tree _o1[1], _r1;
    4029           32 :               _o1[0] = captures[2];
    4030           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4031           32 :               if (EXPR_P (_r1))
    4032            0 :                 goto next_after_fail1055;
    4033           32 :               res_op1 = _r1;
    4034              :             }
    4035           32 :             tree res_op2;
    4036           32 :             {
    4037           32 :               tree _o1[1], _r1;
    4038           32 :               _o1[0] = captures[3];
    4039           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4040           32 :               if (EXPR_P (_r1))
    4041            0 :                 goto next_after_fail1055;
    4042           32 :               res_op2 = _r1;
    4043              :             }
    4044           32 :             tree _r;
    4045           32 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4046           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 811, __FILE__, __LINE__, true);
    4047           32 :             return _r;
    4048              :           }
    4049            0 : next_after_fail1055:;
    4050              :         }
    4051            0 :         break;
    4052              :       }
    4053            4 :     case LT_EXPR:
    4054            4 :       {
    4055            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4056            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4057            4 :         {
    4058            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4059            4 :           tree res = generic_simplify_502 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    4060            4 :           if (res) return res;
    4061              :         }
    4062            4 :         break;
    4063              :       }
    4064            4 :     case LE_EXPR:
    4065            4 :       {
    4066            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4067            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4068            4 :         {
    4069            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4070            4 :           tree res = generic_simplify_502 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    4071            4 :           if (res) return res;
    4072              :         }
    4073            4 :         break;
    4074              :       }
    4075           63 :     case EQ_EXPR:
    4076           63 :       {
    4077           63 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4078           63 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4079           63 :         {
    4080           63 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4081           63 :           tree res = generic_simplify_502 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    4082           63 :           if (res) return res;
    4083              :         }
    4084           56 :         break;
    4085              :       }
    4086          112 :     case NE_EXPR:
    4087          112 :       {
    4088          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4089          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4090          112 :         {
    4091          112 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4092          112 :           tree res = generic_simplify_502 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    4093          112 :           if (res) return res;
    4094              :         }
    4095          107 :         break;
    4096              :       }
    4097            0 :     case GE_EXPR:
    4098            0 :       {
    4099            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4100            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4101            0 :         {
    4102            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4103            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    4104            0 :           if (res) return res;
    4105              :         }
    4106            0 :         break;
    4107              :       }
    4108           66 :     case GT_EXPR:
    4109           66 :       {
    4110           66 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4111           66 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4112           66 :         {
    4113           66 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4114           66 :           tree res = generic_simplify_502 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    4115           66 :           if (res) return res;
    4116              :         }
    4117           66 :         break;
    4118              :       }
    4119            0 :     case UNORDERED_EXPR:
    4120            0 :       {
    4121            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4122            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4123            0 :         {
    4124            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4125            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    4126            0 :           if (res) return res;
    4127              :         }
    4128            0 :         break;
    4129              :       }
    4130            0 :     case ORDERED_EXPR:
    4131            0 :       {
    4132            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4133            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4134            0 :         {
    4135            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4136            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    4137            0 :           if (res) return res;
    4138              :         }
    4139            0 :         break;
    4140              :       }
    4141            0 :     case UNLT_EXPR:
    4142            0 :       {
    4143            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4144            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4145            0 :         {
    4146            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4147            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    4148            0 :           if (res) return res;
    4149              :         }
    4150            0 :         break;
    4151              :       }
    4152            0 :     case UNLE_EXPR:
    4153            0 :       {
    4154            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4155            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4156            0 :         {
    4157            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4158            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    4159            0 :           if (res) return res;
    4160              :         }
    4161            0 :         break;
    4162              :       }
    4163            0 :     case UNGT_EXPR:
    4164            0 :       {
    4165            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4166            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4167            0 :         {
    4168            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4169            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    4170            0 :           if (res) return res;
    4171              :         }
    4172            0 :         break;
    4173              :       }
    4174            0 :     case UNGE_EXPR:
    4175            0 :       {
    4176            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4177            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4178            0 :         {
    4179            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4180            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    4181            0 :           if (res) return res;
    4182              :         }
    4183            0 :         break;
    4184              :       }
    4185            0 :     case UNEQ_EXPR:
    4186            0 :       {
    4187            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4188            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4189            0 :         {
    4190            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4191            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    4192            0 :           if (res) return res;
    4193              :         }
    4194            0 :         break;
    4195              :       }
    4196            0 :     case LTGT_EXPR:
    4197            0 :       {
    4198            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4199            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4200            0 :         {
    4201            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4202            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    4203            0 :           if (res) return res;
    4204              :         }
    4205            0 :         break;
    4206              :       }
    4207              :     default:;
    4208              :     }
    4209              :   return NULL_TREE;
    4210              : }
    4211              : 
    4212              : tree
    4213      2382275 : 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)
    4214              : {
    4215      2382275 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4216      2382275 :   if (integer_onep (_p1))
    4217              :     {
    4218        17711 :       {
    4219        17711 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4220        17711 :         tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4221        17711 :         if (res) return res;
    4222              :       }
    4223              :     }
    4224      2364564 :   switch (TREE_CODE (_p0))
    4225              :     {
    4226       151894 :     CASE_CONVERT:
    4227       151894 :       {
    4228       151894 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4229       151894 :         switch (TREE_CODE (_p1))
    4230              :           {
    4231        35353 :           CASE_CONVERT:
    4232        35353 :             {
    4233        35353 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4234        35353 :               switch (TREE_CODE (_q40))
    4235              :                 {
    4236            0 :                 case LSHIFT_EXPR:
    4237            0 :                   {
    4238            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4239            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4240            0 :                     if (integer_onep (_q50))
    4241              :                       {
    4242            0 :                         {
    4243            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    4244            0 :                           tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4245            0 :                           if (res) return res;
    4246              :                         }
    4247              :                       }
    4248              :                     break;
    4249              :                   }
    4250              :                 default:;
    4251              :                 }
    4252              :               break;
    4253              :             }
    4254            8 :           case LSHIFT_EXPR:
    4255            8 :             {
    4256            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4257            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4258            8 :               if (integer_onep (_q40))
    4259              :                 {
    4260            7 :                   {
    4261            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    4262            7 :                     tree res = generic_simplify_307 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4263            7 :                     if (res) return res;
    4264              :                   }
    4265              :                 }
    4266              :               break;
    4267              :             }
    4268              :           default:;
    4269              :           }
    4270              :         break;
    4271              :       }
    4272      2364564 :     default:;
    4273              :     }
    4274      2364564 :   switch (TREE_CODE (_p1))
    4275              :     {
    4276       126425 :     CASE_CONVERT:
    4277       126425 :       {
    4278       126425 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4279       126425 :         switch (TREE_CODE (_q30))
    4280              :           {
    4281            7 :           case LSHIFT_EXPR:
    4282            7 :             {
    4283            7 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4284            7 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4285            7 :               if (integer_onep (_q40))
    4286              :                 {
    4287            7 :                   {
    4288            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    4289            7 :                     tree res = generic_simplify_308 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4290            7 :                     if (res) return res;
    4291              :                   }
    4292              :                 }
    4293              :               break;
    4294              :             }
    4295              :           default:;
    4296              :           }
    4297              :         break;
    4298              :       }
    4299           33 :     case LSHIFT_EXPR:
    4300           33 :       {
    4301           33 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4302           33 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4303           33 :         if (integer_onep (_q30))
    4304              :           {
    4305           16 :             {
    4306           16 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    4307           16 :               tree res = generic_simplify_308 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4308           16 :               if (res) return res;
    4309              :             }
    4310              :           }
    4311              :         break;
    4312              :       }
    4313      2364555 :     default:;
    4314              :     }
    4315      2364555 :   if (integer_zerop (_p0))
    4316              :     {
    4317         2362 :       {
    4318         2362 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4319         2362 :         tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4320         2362 :         if (res) return res;
    4321              :       }
    4322              :     }
    4323      2362822 :   switch (TREE_CODE (_p1))
    4324              :     {
    4325        13322 :     case SSA_NAME:
    4326        13322 :       {
    4327        13322 :         {
    4328        13322 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4329        13322 :           tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4330        13322 :           if (res) return res;
    4331              :         }
    4332        13322 :         break;
    4333              :       }
    4334      2362822 :     default:;
    4335              :     }
    4336      2362822 : if (integer_minus_onep (_p1))
    4337              :   {
    4338         2520 :     {
    4339         2520 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4340         2520 :       tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4341         2520 :       if (res) return res;
    4342              :     }
    4343              :   }
    4344      2361200 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4345              :     {
    4346          896 :       {
    4347          896 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4348          896 :         tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4349          896 :         if (res) return res;
    4350              :       }
    4351              :     }
    4352      2361089 :   switch (TREE_CODE (_p1))
    4353              :     {
    4354            1 :     case ABS_EXPR:
    4355            1 :       {
    4356            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4357            1 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4358              :           {
    4359            1 :             {
    4360            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4361            1 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4362            1 :               if (res) return res;
    4363              :             }
    4364              :           }
    4365              :         break;
    4366              :       }
    4367      2361088 :     default:;
    4368              :     }
    4369      2361088 :   switch (TREE_CODE (_p0))
    4370              :     {
    4371            0 :     case ABS_EXPR:
    4372            0 :       {
    4373            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4374            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4375              :           {
    4376            0 :             {
    4377            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4378            0 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4379            0 :               if (res) return res;
    4380              :             }
    4381              :           }
    4382              :         break;
    4383              :       }
    4384      2361088 :     default:;
    4385              :     }
    4386      2361088 :   switch (TREE_CODE (_p1))
    4387              :     {
    4388          657 :     case NEGATE_EXPR:
    4389          657 :       {
    4390          657 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4391          657 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4392              :           {
    4393            1 :             {
    4394            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4395            1 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4396            1 :               if (res) return res;
    4397              :             }
    4398              :           }
    4399              :         break;
    4400              :       }
    4401      2361087 :     default:;
    4402              :     }
    4403      2361087 :   switch (TREE_CODE (_p0))
    4404              :     {
    4405          388 :     case NEGATE_EXPR:
    4406          388 :       {
    4407          388 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4408          388 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4409              :           {
    4410            0 :             {
    4411            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4412            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4413            0 :               if (res) return res;
    4414              :             }
    4415              :           }
    4416              :         break;
    4417              :       }
    4418         9095 :     case TRUNC_DIV_EXPR:
    4419         9095 :       {
    4420         9095 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4421         9095 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4422         9095 :         switch (TREE_CODE (_q21))
    4423              :           {
    4424         9006 :           case INTEGER_CST:
    4425         9006 :             {
    4426         9006 :               switch (TREE_CODE (_p1))
    4427              :                 {
    4428         9005 :                 case INTEGER_CST:
    4429         9005 :                   {
    4430         9005 :                     {
    4431         9005 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4432         9005 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4433         9005 :                       if (res) return res;
    4434              :                     }
    4435         9005 :                     break;
    4436              :                   }
    4437              :                 default:;
    4438              :                 }
    4439              :               break;
    4440              :             }
    4441              :           default:;
    4442              :           }
    4443              :         break;
    4444              :       }
    4445       151853 :     CASE_CONVERT:
    4446       151853 :       {
    4447       151853 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4448       151853 :         switch (TREE_CODE (_q20))
    4449              :           {
    4450            0 :           case BIT_AND_EXPR:
    4451            0 :             {
    4452            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4453            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4454            0 :               switch (TREE_CODE (_q31))
    4455              :                 {
    4456            0 :                 case INTEGER_CST:
    4457            0 :                   {
    4458            0 :                     switch (TREE_CODE (_p1))
    4459              :                       {
    4460            0 :                       case INTEGER_CST:
    4461            0 :                         {
    4462            0 :                           {
    4463            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4464            0 :                             tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4465            0 :                             if (res) return res;
    4466              :                           }
    4467            0 :                           break;
    4468              :                         }
    4469              :                       default:;
    4470              :                       }
    4471              :                     break;
    4472              :                   }
    4473              :                 default:;
    4474              :                 }
    4475              :               break;
    4476              :             }
    4477              :           default:;
    4478              :           }
    4479              :         break;
    4480              :       }
    4481        45146 :     case BIT_AND_EXPR:
    4482        45146 :       {
    4483        45146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4484        45146 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4485        45146 :         switch (TREE_CODE (_q21))
    4486              :           {
    4487        45120 :           case INTEGER_CST:
    4488        45120 :             {
    4489        45120 :               switch (TREE_CODE (_p1))
    4490              :                 {
    4491        45116 :                 case INTEGER_CST:
    4492        45116 :                   {
    4493        45116 :                     {
    4494        45116 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4495        45116 :                       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4496        45116 :                       if (res) return res;
    4497              :                     }
    4498        45115 :                     break;
    4499              :                   }
    4500              :                 default:;
    4501              :                 }
    4502              :               break;
    4503              :             }
    4504              :           default:;
    4505              :           }
    4506              :         break;
    4507              :       }
    4508       135005 :     case MULT_EXPR:
    4509       135005 :       {
    4510       135005 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4511       135005 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4512       135005 :         if (integer_pow2p (_q21))
    4513              :           {
    4514         5945 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4515              :               {
    4516         5583 :                 {
    4517         5583 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4518         5583 :                   tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4519         5583 :                   if (res) return res;
    4520              :                 }
    4521              :               }
    4522              :           }
    4523       129563 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4524              :           {
    4525          163 :             {
    4526          163 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4527          163 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4528          163 :               if (res) return res;
    4529              :             }
    4530              :           }
    4531       129415 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4532              :           {
    4533           22 :             {
    4534           22 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4535           22 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4536           22 :               if (res) return res;
    4537              :             }
    4538              :           }
    4539       129406 :         switch (TREE_CODE (_q21))
    4540              :           {
    4541       129092 :           case INTEGER_CST:
    4542       129092 :             {
    4543       129092 :               switch (TREE_CODE (_p1))
    4544              :                 {
    4545            3 :                 case MULT_EXPR:
    4546            3 :                   {
    4547            3 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4548            3 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4549            3 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4550              :                       {
    4551            3 :                         switch (TREE_CODE (_q51))
    4552              :                           {
    4553            3 :                           case INTEGER_CST:
    4554            3 :                             {
    4555            3 :                               {
    4556            3 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4557            3 :                                 tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4558            3 :                                 if (res) return res;
    4559              :                               }
    4560            0 :                               break;
    4561              :                             }
    4562              :                           default:;
    4563              :                           }
    4564              :                       }
    4565              :                     break;
    4566              :                   }
    4567              :                 default:;
    4568              :                 }
    4569              :               break;
    4570              :             }
    4571              :           default:;
    4572              :           }
    4573              :         break;
    4574              :       }
    4575            0 :     case VEC_COND_EXPR:
    4576            0 :       {
    4577            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4578            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4579            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4580            0 :         switch (TREE_CODE (_p1))
    4581              :           {
    4582            0 :           case VEC_COND_EXPR:
    4583            0 :             {
    4584            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4585            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4586            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4587            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4588              :                 {
    4589            0 :                   {
    4590            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4591            0 :                     if (VECTOR_TYPE_P (type)
    4592            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4593              :  || types_match (type, TREE_TYPE (captures[2]))
    4594              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4595              :  || (optimize_vectors_before_lowering_p ()
    4596              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4597              : )
    4598              :                       {
    4599            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
    4600            0 :                         {
    4601            0 :                           tree res_op0;
    4602            0 :                           res_op0 = captures[1];
    4603            0 :                           tree res_op1;
    4604            0 :                           {
    4605            0 :                             tree _o1[2], _r1;
    4606            0 :                             _o1[0] = captures[2];
    4607            0 :                             _o1[1] = captures[5];
    4608            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4609            0 :                             if (EXPR_P (_r1))
    4610            0 :                               goto next_after_fail1554;
    4611            0 :                             res_op1 = _r1;
    4612              :                           }
    4613            0 :                           tree res_op2;
    4614            0 :                           {
    4615            0 :                             tree _o1[2], _r1;
    4616            0 :                             _o1[0] = captures[3];
    4617            0 :                             _o1[1] = captures[6];
    4618            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4619            0 :                             if (EXPR_P (_r1))
    4620            0 :                               goto next_after_fail1554;
    4621            0 :                             res_op2 = _r1;
    4622              :                           }
    4623            0 :                           tree _r;
    4624            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4625            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    4626            0 :                           return _r;
    4627              :                         }
    4628            0 : next_after_fail1554:;
    4629              :                       }
    4630              :                   }
    4631              :                 }
    4632              :               break;
    4633              :             }
    4634            0 :           default:;
    4635              :           }
    4636            0 :         {
    4637            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4638            0 :           if (VECTOR_TYPE_P (type)
    4639            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4640              :  || types_match (type, TREE_TYPE (captures[2]))
    4641              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4642              :  || (optimize_vectors_before_lowering_p ()
    4643              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4644              : )
    4645              :             {
    4646            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
    4647            0 :               {
    4648            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1555;
    4649            0 :                 tree res_op0;
    4650            0 :                 res_op0 = captures[1];
    4651            0 :                 tree res_op1;
    4652            0 :                 {
    4653            0 :                   tree _o1[2], _r1;
    4654            0 :                   _o1[0] = captures[2];
    4655            0 :                   _o1[1] = unshare_expr (captures[4]);
    4656            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4657            0 :                   if (EXPR_P (_r1))
    4658            0 :                     goto next_after_fail1555;
    4659            0 :                   res_op1 = _r1;
    4660              :                 }
    4661            0 :                 tree res_op2;
    4662            0 :                 {
    4663            0 :                   tree _o1[2], _r1;
    4664            0 :                   _o1[0] = captures[3];
    4665            0 :                   _o1[1] = captures[4];
    4666            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4667            0 :                   if (EXPR_P (_r1))
    4668            0 :                     goto next_after_fail1555;
    4669            0 :                   res_op2 = _r1;
    4670              :                 }
    4671            0 :                 tree _r;
    4672            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4673            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    4674            0 :                 return _r;
    4675              :               }
    4676            0 : next_after_fail1555:;
    4677              :             }
    4678              :         }
    4679            0 :         break;
    4680              :       }
    4681      2355484 :     default:;
    4682              :     }
    4683      2355484 : if (integer_onep (_p0))
    4684              :   {
    4685         1225 :     {
    4686         1225 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4687         1225 :       if (INTEGRAL_TYPE_P (type)
    4688         1222 :  && TYPE_PRECISION (type) > 1
    4689         1222 :  && !integer_zerop (captures[1])
    4690         1693 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4691              : )
    4692              :         {
    4693          411 :           if (TYPE_UNSIGNED (type)
    4694              : )
    4695              :             {
    4696           54 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
    4697           54 :               {
    4698           54 :                 tree res_op0;
    4699           54 :                 {
    4700           54 :                   tree _o1[2], _r1;
    4701           54 :                   _o1[0] = captures[1];
    4702           54 :                   _o1[1] =  build_one_cst (type);
    4703           54 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4704           54 :                   res_op0 = _r1;
    4705              :                 }
    4706           54 :                 tree _r;
    4707           54 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4708           54 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    4709            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4710           54 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 972, __FILE__, __LINE__, true);
    4711           54 :                 return _r;
    4712              :               }
    4713            0 : next_after_fail1556:;
    4714              :             }
    4715              :           else
    4716              :             {
    4717          357 :               if (fold_before_rtl_expansion_p ()
    4718              : )
    4719              :                 {
    4720            0 :                   {
    4721            0 :  tree utype = unsigned_type_for (type);
    4722            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
    4723            0 :                       {
    4724            0 :                         if (! tree_invariant_p (captures[1])) goto next_after_fail1557;
    4725            0 :                         tree res_op0;
    4726            0 :                         {
    4727            0 :                           tree _o1[2], _r1;
    4728            0 :                           {
    4729            0 :                             tree _o2[2], _r2;
    4730            0 :                             {
    4731            0 :                               tree _o3[1], _r3;
    4732            0 :                               _o3[0] = unshare_expr (captures[1]);
    4733            0 :                               if (TREE_TYPE (_o3[0]) != utype)
    4734              :                                 {
    4735            0 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    4736              :                                 }
    4737              :                               else
    4738              :                                 _r3 = _o3[0];
    4739            0 :                               _o2[0] = _r3;
    4740              :                             }
    4741            0 :                             _o2[1] =  build_one_cst (utype);
    4742            0 :                             _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4743            0 :                             _o1[0] = _r2;
    4744              :                           }
    4745            0 :                           _o1[1] =  build_int_cst (utype, 2);
    4746            0 :                           _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4747            0 :                           res_op0 = _r1;
    4748              :                         }
    4749            0 :                         tree res_op1;
    4750            0 :                         res_op1 = captures[1];
    4751            0 :                         tree res_op2;
    4752            0 :                         res_op2 =  build_zero_cst (type);
    4753            0 :                         tree _r;
    4754            0 :                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4755            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4756            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4757            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 973, __FILE__, __LINE__, true);
    4758            0 :                         return _r;
    4759              :                       }
    4760         1171 : next_after_fail1557:;
    4761              :                   }
    4762              :                 }
    4763              :             }
    4764              :         }
    4765              :     }
    4766              :   }
    4767      2355430 :   switch (TREE_CODE (_p1))
    4768              :     {
    4769            0 :     case VEC_COND_EXPR:
    4770            0 :       {
    4771            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4772            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4773            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4774            0 :         {
    4775            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4776            0 :           if (VECTOR_TYPE_P (type)
    4777            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4778              :  || types_match (type, TREE_TYPE (captures[3]))
    4779              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4780              :  || (optimize_vectors_before_lowering_p ()
    4781              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4782              : )
    4783              :             {
    4784            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
    4785            0 :               {
    4786            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1558;
    4787            0 :                 tree res_op0;
    4788            0 :                 res_op0 = captures[2];
    4789            0 :                 tree res_op1;
    4790            0 :                 {
    4791            0 :                   tree _o1[2], _r1;
    4792            0 :                   _o1[0] = unshare_expr (captures[0]);
    4793            0 :                   _o1[1] = captures[3];
    4794            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4795            0 :                   if (EXPR_P (_r1))
    4796            0 :                     goto next_after_fail1558;
    4797            0 :                   res_op1 = _r1;
    4798              :                 }
    4799            0 :                 tree res_op2;
    4800            0 :                 {
    4801            0 :                   tree _o1[2], _r1;
    4802            0 :                   _o1[0] = captures[0];
    4803            0 :                   _o1[1] = captures[4];
    4804            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4805            0 :                   if (EXPR_P (_r1))
    4806            0 :                     goto next_after_fail1558;
    4807            0 :                   res_op2 = _r1;
    4808              :                 }
    4809            0 :                 tree _r;
    4810            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4811            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    4812            0 :                 return _r;
    4813              :               }
    4814            0 : next_after_fail1558:;
    4815              :             }
    4816              :         }
    4817            0 :         break;
    4818              :       }
    4819              :     default:;
    4820              :     }
    4821              :   return NULL_TREE;
    4822              : }
    4823              : 
    4824              : tree
    4825            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)
    4826              : {
    4827            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4828            0 :   if (integer_onep (_p1))
    4829              :     {
    4830            0 :       {
    4831            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4832            0 :         tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4833            0 :         if (res) return res;
    4834              :       }
    4835              :     }
    4836            0 :   if (integer_zerop (_p0))
    4837              :     {
    4838            0 :       {
    4839            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4840            0 :         tree res = generic_simplify_309 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4841            0 :         if (res) return res;
    4842              :       }
    4843              :     }
    4844            0 :   switch (TREE_CODE (_p1))
    4845              :     {
    4846            0 :     case SSA_NAME:
    4847            0 :       {
    4848            0 :         {
    4849            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4850            0 :           tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4851            0 :           if (res) return res;
    4852              :         }
    4853            0 :         break;
    4854              :       }
    4855            0 :     default:;
    4856              :     }
    4857            0 : if (integer_minus_onep (_p1))
    4858              :   {
    4859            0 :     {
    4860            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4861            0 :       tree res = generic_simplify_310 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4862            0 :       if (res) return res;
    4863              :     }
    4864              :   }
    4865            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4866              :     {
    4867            0 :       {
    4868            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4869            0 :         tree res = generic_simplify_312 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4870            0 :         if (res) return res;
    4871              :       }
    4872              :     }
    4873            0 :   switch (TREE_CODE (_p1))
    4874              :     {
    4875            0 :     case ABS_EXPR:
    4876            0 :       {
    4877            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4878            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4879              :           {
    4880            0 :             {
    4881            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4882            0 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4883            0 :               if (res) return res;
    4884              :             }
    4885              :           }
    4886              :         break;
    4887              :       }
    4888            0 :     default:;
    4889              :     }
    4890            0 :   switch (TREE_CODE (_p0))
    4891              :     {
    4892            0 :     case ABS_EXPR:
    4893            0 :       {
    4894            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4895            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4896              :           {
    4897            0 :             {
    4898            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4899            0 :               tree res = generic_simplify_313 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4900            0 :               if (res) return res;
    4901              :             }
    4902              :           }
    4903              :         break;
    4904              :       }
    4905            0 :     default:;
    4906              :     }
    4907            0 :   switch (TREE_CODE (_p1))
    4908              :     {
    4909            0 :     case NEGATE_EXPR:
    4910            0 :       {
    4911            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4912            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4913              :           {
    4914            0 :             {
    4915            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4916            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4917            0 :               if (res) return res;
    4918              :             }
    4919              :           }
    4920              :         break;
    4921              :       }
    4922            0 :     default:;
    4923              :     }
    4924            0 :   switch (TREE_CODE (_p0))
    4925              :     {
    4926            0 :     case NEGATE_EXPR:
    4927            0 :       {
    4928            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4929            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4930              :           {
    4931            0 :             {
    4932            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4933            0 :               tree res = generic_simplify_314 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4934            0 :               if (res) return res;
    4935              :             }
    4936              :           }
    4937              :         break;
    4938              :       }
    4939            0 :     CASE_CONVERT:
    4940            0 :       {
    4941            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4942            0 :         switch (TREE_CODE (_q20))
    4943              :           {
    4944            0 :           case BIT_AND_EXPR:
    4945            0 :             {
    4946            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4947            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4948            0 :               switch (TREE_CODE (_q31))
    4949              :                 {
    4950            0 :                 case INTEGER_CST:
    4951            0 :                   {
    4952            0 :                     switch (TREE_CODE (_p1))
    4953              :                       {
    4954            0 :                       case INTEGER_CST:
    4955            0 :                         {
    4956            0 :                           {
    4957            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4958            0 :                             tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4959            0 :                             if (res) return res;
    4960              :                           }
    4961            0 :                           break;
    4962              :                         }
    4963              :                       default:;
    4964              :                       }
    4965              :                     break;
    4966              :                   }
    4967              :                 default:;
    4968              :                 }
    4969              :               break;
    4970              :             }
    4971              :           default:;
    4972              :           }
    4973              :         break;
    4974              :       }
    4975            0 :     case BIT_AND_EXPR:
    4976            0 :       {
    4977            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4978            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4979            0 :         switch (TREE_CODE (_q21))
    4980              :           {
    4981            0 :           case INTEGER_CST:
    4982            0 :             {
    4983            0 :               switch (TREE_CODE (_p1))
    4984              :                 {
    4985            0 :                 case INTEGER_CST:
    4986            0 :                   {
    4987            0 :                     {
    4988            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4989            0 :                       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4990            0 :                       if (res) return res;
    4991              :                     }
    4992            0 :                     break;
    4993              :                   }
    4994              :                 default:;
    4995              :                 }
    4996              :               break;
    4997              :             }
    4998              :           default:;
    4999              :           }
    5000              :         break;
    5001              :       }
    5002            0 :     case MULT_EXPR:
    5003            0 :       {
    5004            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5005            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5006            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5007              :           {
    5008            0 :             {
    5009            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5010            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5011            0 :               if (res) return res;
    5012              :             }
    5013              :           }
    5014            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5015              :           {
    5016            0 :             {
    5017            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5018            0 :               tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5019            0 :               if (res) return res;
    5020              :             }
    5021              :           }
    5022            0 :         switch (TREE_CODE (_q21))
    5023              :           {
    5024            0 :           case INTEGER_CST:
    5025            0 :             {
    5026            0 :               switch (TREE_CODE (_p1))
    5027              :                 {
    5028            0 :                 case MULT_EXPR:
    5029            0 :                   {
    5030            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5031            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5032            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5033              :                       {
    5034            0 :                         switch (TREE_CODE (_q51))
    5035              :                           {
    5036            0 :                           case INTEGER_CST:
    5037            0 :                             {
    5038            0 :                               {
    5039            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5040            0 :                                 tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5041            0 :                                 if (res) return res;
    5042              :                               }
    5043            0 :                               break;
    5044              :                             }
    5045              :                           default:;
    5046              :                           }
    5047              :                       }
    5048              :                     break;
    5049              :                   }
    5050              :                 default:;
    5051              :                 }
    5052              :               break;
    5053              :             }
    5054              :           default:;
    5055              :           }
    5056              :         break;
    5057              :       }
    5058            0 :     case VEC_COND_EXPR:
    5059            0 :       {
    5060            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5061            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5062            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5063            0 :         switch (TREE_CODE (_p1))
    5064              :           {
    5065            0 :           case VEC_COND_EXPR:
    5066            0 :             {
    5067            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5068            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5069            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5070            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5071              :                 {
    5072            0 :                   {
    5073            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5074            0 :                     if (VECTOR_TYPE_P (type)
    5075            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5076              :  || types_match (type, TREE_TYPE (captures[2]))
    5077              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5078              :  || (optimize_vectors_before_lowering_p ()
    5079              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5080              : )
    5081              :                       {
    5082            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
    5083            0 :                         {
    5084            0 :                           tree res_op0;
    5085            0 :                           res_op0 = captures[1];
    5086            0 :                           tree res_op1;
    5087            0 :                           {
    5088            0 :                             tree _o1[2], _r1;
    5089            0 :                             _o1[0] = captures[2];
    5090            0 :                             _o1[1] = captures[5];
    5091            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5092            0 :                             if (EXPR_P (_r1))
    5093            0 :                               goto next_after_fail1565;
    5094            0 :                             res_op1 = _r1;
    5095              :                           }
    5096            0 :                           tree res_op2;
    5097            0 :                           {
    5098            0 :                             tree _o1[2], _r1;
    5099            0 :                             _o1[0] = captures[3];
    5100            0 :                             _o1[1] = captures[6];
    5101            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5102            0 :                             if (EXPR_P (_r1))
    5103            0 :                               goto next_after_fail1565;
    5104            0 :                             res_op2 = _r1;
    5105              :                           }
    5106            0 :                           tree _r;
    5107            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5108            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    5109            0 :                           return _r;
    5110              :                         }
    5111            0 : next_after_fail1565:;
    5112              :                       }
    5113              :                   }
    5114              :                 }
    5115              :               break;
    5116              :             }
    5117            0 :           default:;
    5118              :           }
    5119            0 :         {
    5120            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5121            0 :           if (VECTOR_TYPE_P (type)
    5122            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5123              :  || types_match (type, TREE_TYPE (captures[2]))
    5124              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5125              :  || (optimize_vectors_before_lowering_p ()
    5126              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5127              : )
    5128              :             {
    5129            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
    5130            0 :               {
    5131            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1566;
    5132            0 :                 tree res_op0;
    5133            0 :                 res_op0 = captures[1];
    5134            0 :                 tree res_op1;
    5135            0 :                 {
    5136            0 :                   tree _o1[2], _r1;
    5137            0 :                   _o1[0] = captures[2];
    5138            0 :                   _o1[1] = unshare_expr (captures[4]);
    5139            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5140            0 :                   if (EXPR_P (_r1))
    5141            0 :                     goto next_after_fail1566;
    5142            0 :                   res_op1 = _r1;
    5143              :                 }
    5144            0 :                 tree res_op2;
    5145            0 :                 {
    5146            0 :                   tree _o1[2], _r1;
    5147            0 :                   _o1[0] = captures[3];
    5148            0 :                   _o1[1] = captures[4];
    5149            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5150            0 :                   if (EXPR_P (_r1))
    5151            0 :                     goto next_after_fail1566;
    5152            0 :                   res_op2 = _r1;
    5153              :                 }
    5154            0 :                 tree _r;
    5155            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5156            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    5157            0 :                 return _r;
    5158              :               }
    5159            0 : next_after_fail1566:;
    5160              :             }
    5161              :         }
    5162            0 :         break;
    5163              :       }
    5164            0 :     default:;
    5165              :     }
    5166            0 :   switch (TREE_CODE (_p1))
    5167              :     {
    5168            0 :     case VEC_COND_EXPR:
    5169            0 :       {
    5170            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5171            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5172            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5173            0 :         {
    5174            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5175            0 :           if (VECTOR_TYPE_P (type)
    5176            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5177              :  || types_match (type, TREE_TYPE (captures[3]))
    5178              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5179              :  || (optimize_vectors_before_lowering_p ()
    5180              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5181              : )
    5182              :             {
    5183            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
    5184            0 :               {
    5185            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1567;
    5186            0 :                 tree res_op0;
    5187            0 :                 res_op0 = captures[2];
    5188            0 :                 tree res_op1;
    5189            0 :                 {
    5190            0 :                   tree _o1[2], _r1;
    5191            0 :                   _o1[0] = unshare_expr (captures[0]);
    5192            0 :                   _o1[1] = captures[3];
    5193            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5194            0 :                   if (EXPR_P (_r1))
    5195            0 :                     goto next_after_fail1567;
    5196            0 :                   res_op1 = _r1;
    5197              :                 }
    5198            0 :                 tree res_op2;
    5199            0 :                 {
    5200            0 :                   tree _o1[2], _r1;
    5201            0 :                   _o1[0] = captures[0];
    5202            0 :                   _o1[1] = captures[4];
    5203            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5204            0 :                   if (EXPR_P (_r1))
    5205            0 :                     goto next_after_fail1567;
    5206            0 :                   res_op2 = _r1;
    5207              :                 }
    5208            0 :                 tree _r;
    5209            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5210            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    5211            0 :                 return _r;
    5212              :               }
    5213            0 : next_after_fail1567:;
    5214              :             }
    5215              :         }
    5216            0 :         break;
    5217              :       }
    5218              :     default:;
    5219              :     }
    5220              :   return NULL_TREE;
    5221              : }
    5222              : 
    5223              : tree
    5224      6154242 : generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5225              : {
    5226      6154242 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5227      6154242 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5228              :     {
    5229          765 :       {
    5230          765 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5231            3 :         if (FLOAT_TYPE_P (type)
    5232          765 :  && ! HONOR_NANS (type)
    5233          767 :  && ! HONOR_INFINITIES (type)
    5234              : )
    5235              :           {
    5236            2 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
    5237            2 :             {
    5238            2 :               tree _r;
    5239            2 :               _r =  build_one_cst (type);
    5240            2 :               if (TREE_SIDE_EFFECTS (captures[0]))
    5241            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5242            2 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 974, __FILE__, __LINE__, true);
    5243            2 :               return _r;
    5244              :             }
    5245            0 : next_after_fail1574:;
    5246              :           }
    5247              :       }
    5248              :     }
    5249      6154240 :   switch (TREE_CODE (_p1))
    5250              :     {
    5251        18640 :     case NEGATE_EXPR:
    5252        18640 :       {
    5253        18640 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5254        18640 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5255              :           {
    5256            0 :             {
    5257            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5258            0 :               tree res = generic_simplify_328 (loc, type, _p0, _p1, captures);
    5259            0 :               if (res) return res;
    5260              :             }
    5261              :           }
    5262              :         break;
    5263              :       }
    5264      6154240 :     default:;
    5265              :     }
    5266      6154240 :   switch (TREE_CODE (_p0))
    5267              :     {
    5268        93268 :     case NEGATE_EXPR:
    5269        93268 :       {
    5270        93268 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5271        93268 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5272              :           {
    5273            2 :             {
    5274            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5275            2 :               tree res = generic_simplify_328 (loc, type, _p0, _p1, captures);
    5276            2 :               if (res) return res;
    5277              :             }
    5278              :           }
    5279              :         break;
    5280              :       }
    5281       534749 :     CASE_CONVERT:
    5282       534749 :       {
    5283       534749 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5284       534749 :         switch (TREE_CODE (_p1))
    5285              :           {
    5286        24415 :           CASE_CONVERT:
    5287        24415 :             {
    5288        24415 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5289        24415 :               switch (TREE_CODE (_q40))
    5290              :                 {
    5291            0 :                 case ABS_EXPR:
    5292            0 :                   {
    5293            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5294            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5295              :                       {
    5296            0 :                         {
    5297            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5298            0 :                           tree res = generic_simplify_329 (loc, type, _p0, _p1, captures);
    5299            0 :                           if (res) return res;
    5300              :                         }
    5301              :                       }
    5302              :                     break;
    5303              :                   }
    5304              :                 default:;
    5305              :                 }
    5306              :               break;
    5307              :             }
    5308       534749 :           default:;
    5309              :           }
    5310       534749 :         switch (TREE_CODE (_q20))
    5311              :           {
    5312            0 :           case ABS_EXPR:
    5313            0 :             {
    5314            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5315            0 :               switch (TREE_CODE (_p1))
    5316              :                 {
    5317            0 :                 CASE_CONVERT:
    5318            0 :                   {
    5319            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5320            0 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    5321              :                       {
    5322            0 :                         {
    5323            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    5324            0 :                           tree res = generic_simplify_329 (loc, type, _p0, _p1, captures);
    5325            0 :                           if (res) return res;
    5326              :                         }
    5327              :                       }
    5328              :                     break;
    5329              :                   }
    5330              :                 default:;
    5331              :                 }
    5332              :               break;
    5333              :             }
    5334              :           default:;
    5335              :           }
    5336              :         break;
    5337              :       }
    5338      6154240 :     default:;
    5339              :     }
    5340      6154240 :   switch (TREE_CODE (_p1))
    5341              :     {
    5342           54 :     case ABS_EXPR:
    5343           54 :       {
    5344           54 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5345           54 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5346              :           {
    5347            0 :             {
    5348            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5349            0 :               tree res = generic_simplify_329 (loc, type, _p0, _p1, captures);
    5350            0 :               if (res) return res;
    5351              :             }
    5352              :           }
    5353              :         break;
    5354              :       }
    5355      6154240 :     default:;
    5356              :     }
    5357      6154240 :   switch (TREE_CODE (_p0))
    5358              :     {
    5359          158 :     case ABS_EXPR:
    5360          158 :       {
    5361          158 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5362          158 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5363              :           {
    5364            0 :             {
    5365            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5366            0 :               tree res = generic_simplify_329 (loc, type, _p0, _p1, captures);
    5367            0 :               if (res) return res;
    5368              :             }
    5369              :           }
    5370              :         break;
    5371              :       }
    5372      6154240 :     default:;
    5373              :     }
    5374      6154240 :   if (real_onep (_p1))
    5375              :     {
    5376           86 :       {
    5377           86 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5378           86 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5379              : )
    5380              :           {
    5381           86 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1575;
    5382           86 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
    5383           86 :             {
    5384           86 :               tree res_op0;
    5385           86 :               res_op0 = captures[0];
    5386           86 :               tree _r;
    5387           86 :               _r = non_lvalue_loc (loc, res_op0);
    5388           86 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 975, __FILE__, __LINE__, true);
    5389           86 :               return _r;
    5390              :             }
    5391              : next_after_fail1575:;
    5392              :           }
    5393              :       }
    5394              :     }
    5395      6154154 :   if (real_minus_onep (_p1))
    5396              :     {
    5397           36 :       {
    5398           36 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5399           36 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5400              : )
    5401              :           {
    5402           36 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1576;
    5403           36 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
    5404           36 :             {
    5405           36 :               tree res_op0;
    5406           36 :               res_op0 = captures[0];
    5407           36 :               tree _r;
    5408           36 :               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    5409           36 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 976, __FILE__, __LINE__, true);
    5410           36 :               return _r;
    5411              :             }
    5412              : next_after_fail1576:;
    5413              :           }
    5414              :       }
    5415              :     }
    5416      6154118 :   switch (TREE_CODE (_p0))
    5417              :     {
    5418        36898 :     case RDIV_EXPR:
    5419        36898 :       {
    5420        36898 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5421        36898 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5422        36898 :         {
    5423        36898 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5424        36898 :           if (flag_reciprocal_math
    5425              : )
    5426              :             {
    5427           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
    5428           12 :               {
    5429           12 :                 tree res_op0;
    5430           12 :                 res_op0 = captures[1];
    5431           12 :                 tree res_op1;
    5432           12 :                 {
    5433           12 :                   tree _o1[2], _r1;
    5434           12 :                   _o1[0] = captures[2];
    5435           12 :                   _o1[1] = captures[3];
    5436           12 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5437           12 :                   res_op1 = _r1;
    5438              :                 }
    5439           12 :                 tree _r;
    5440           12 :                 _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5441           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 977, __FILE__, __LINE__, true);
    5442           12 :                 return _r;
    5443              :               }
    5444            0 : next_after_fail1577:;
    5445              :             }
    5446              :         }
    5447        36886 :         break;
    5448              :       }
    5449      6154106 :     default:;
    5450              :     }
    5451      6154106 :   switch (TREE_CODE (_p1))
    5452              :     {
    5453       944889 :     case MULT_EXPR:
    5454       944889 :       {
    5455       944889 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5456       944889 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5457       944889 :         switch (TREE_CODE (_q31))
    5458              :           {
    5459       370836 :           case REAL_CST:
    5460       370836 :             {
    5461       370836 :               {
    5462       370836 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5463       370836 :                 if (flag_reciprocal_math
    5464              : )
    5465              :                   {
    5466          224 :                     {
    5467          224 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
    5468          224 :                         if (tem
    5469              : )
    5470              :                           {
    5471          224 :                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1578;
    5472          224 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
    5473          224 :                             {
    5474          224 :                               tree res_op0;
    5475          224 :                               {
    5476          224 :                                 tree _o1[2], _r1;
    5477          224 :                                 _o1[0] = captures[0];
    5478          224 :                                 _o1[1] =  tem;
    5479          224 :                                 _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5480          224 :                                 res_op0 = _r1;
    5481              :                               }
    5482          224 :                               tree res_op1;
    5483          224 :                               res_op1 = captures[2];
    5484          224 :                               tree _r;
    5485          224 :                               _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5486          224 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 978, __FILE__, __LINE__, true);
    5487          224 :                               return _r;
    5488              :                             }
    5489       370612 : next_after_fail1578:;
    5490              :                           }
    5491              :                     }
    5492              :                   }
    5493              :               }
    5494       370612 :               break;
    5495              :             }
    5496              :           default:;
    5497              :           }
    5498              :         break;
    5499              :       }
    5500            1 :     case RDIV_EXPR:
    5501            1 :       {
    5502            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5503            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5504            1 :         {
    5505            1 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5506            1 :           if (flag_reciprocal_math
    5507              : )
    5508              :             {
    5509            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1579;
    5510            1 :               {
    5511            1 :                 tree res_op0;
    5512            1 :                 {
    5513            1 :                   tree _o1[2], _r1;
    5514            1 :                   _o1[0] = captures[0];
    5515            1 :                   _o1[1] = captures[2];
    5516            1 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5517            1 :                   res_op0 = _r1;
    5518              :                 }
    5519            1 :                 tree res_op1;
    5520            1 :                 res_op1 = captures[3];
    5521            1 :                 tree _r;
    5522            1 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5523            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 979, __FILE__, __LINE__, true);
    5524            1 :                 return _r;
    5525              :               }
    5526            0 : next_after_fail1579:;
    5527              :             }
    5528              :         }
    5529            0 :         break;
    5530              :       }
    5531        18640 :     case NEGATE_EXPR:
    5532        18640 :       {
    5533        18640 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5534        18640 :         {
    5535        18640 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5536        18640 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
    5537        18640 :           {
    5538        18640 :             tree res_op0;
    5539        18640 :             {
    5540        18640 :               tree _o1[1], _r1;
    5541        18640 :               _o1[0] = captures[0];
    5542        18640 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5543        18640 :               res_op0 = _r1;
    5544              :             }
    5545        18640 :             tree res_op1;
    5546        18640 :             res_op1 = captures[1];
    5547        18640 :             tree _r;
    5548        18640 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5549        18640 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    5550        18640 :             return _r;
    5551              :           }
    5552            0 : next_after_fail1580:;
    5553              :         }
    5554            0 :         break;
    5555              :       }
    5556      1047132 :     case REAL_CST:
    5557      1047132 :       {
    5558      1047132 :         {
    5559      1047132 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5560      1047132 :           if (optimize
    5561              : )
    5562              :             {
    5563      1041245 :               if (flag_reciprocal_math
    5564      1041245 :  && !real_zerop (captures[1])
    5565              : )
    5566              :                 {
    5567          571 :                   {
    5568          571 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5569          571 :                       if (tem
    5570              : )
    5571              :                         {
    5572          570 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1581;
    5573          570 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
    5574          570 :                           {
    5575          570 :                             tree res_op0;
    5576          570 :                             res_op0 = captures[0];
    5577          570 :                             tree res_op1;
    5578          570 :                             res_op1 =  tem;
    5579          570 :                             tree _r;
    5580          570 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5581          570 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    5582          570 :                             return _r;
    5583              :                           }
    5584       731360 : next_after_fail1581:;
    5585              :                         }
    5586              :                   }
    5587              :                 }
    5588              :               else
    5589              :                 {
    5590      1040674 :                   if (REAL_CST != COMPLEX_CST
    5591              : )
    5592              :                     {
    5593      1040674 :                       {
    5594      1040674 :  tree inverse = exact_inverse (type, captures[1]);
    5595      1040674 :                           if (inverse
    5596              : )
    5597              :                             {
    5598       315202 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1582;
    5599       315202 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
    5600       315202 :                               {
    5601       315202 :                                 tree res_op0;
    5602       315202 :                                 res_op0 = captures[0];
    5603       315202 :                                 tree res_op1;
    5604       315202 :                                 res_op1 =  inverse;
    5605       315202 :                                 tree _r;
    5606       315202 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5607       315202 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    5608       315202 :                                 return _r;
    5609              :                               }
    5610       731360 : next_after_fail1582:;
    5611              :                             }
    5612              :                       }
    5613              :                     }
    5614              :                 }
    5615              :             }
    5616              :         }
    5617       731360 :         break;
    5618              :       }
    5619          114 :     case COMPLEX_CST:
    5620          114 :       {
    5621          114 :         {
    5622          114 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5623          114 :           if (optimize
    5624              : )
    5625              :             {
    5626          106 :               if (flag_reciprocal_math
    5627          106 :  && !real_zerop (captures[1])
    5628              : )
    5629              :                 {
    5630            7 :                   {
    5631            7 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5632            7 :                       if (tem
    5633              : )
    5634              :                         {
    5635            7 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1583;
    5636            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1583;
    5637            7 :                           {
    5638            7 :                             tree res_op0;
    5639            7 :                             res_op0 = captures[0];
    5640            7 :                             tree res_op1;
    5641            7 :                             res_op1 =  tem;
    5642            7 :                             tree _r;
    5643            7 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5644            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    5645            7 :                             return _r;
    5646              :                           }
    5647          107 : next_after_fail1583:;
    5648              :                         }
    5649              :                   }
    5650              :                 }
    5651              :               else
    5652              :                 {
    5653              :                   if (COMPLEX_CST != COMPLEX_CST
    5654              : )
    5655              :                     {
    5656              :                       {
    5657              :  tree inverse = exact_inverse (type, captures[1]);
    5658              :                           if (inverse
    5659              : )
    5660              :                             {
    5661              :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1584;
    5662              :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1584;
    5663              :                               {
    5664              :                                 tree res_op0;
    5665              :                                 res_op0 = captures[0];
    5666              :                                 tree res_op1;
    5667              :                                 res_op1 =  inverse;
    5668              :                                 tree _r;
    5669              :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5670              :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    5671              :                                 return _r;
    5672              :                               }
    5673              : next_after_fail1584:;
    5674              :                             }
    5675              :                       }
    5676              :                     }
    5677              :                 }
    5678              :             }
    5679              :         }
    5680          107 :         break;
    5681              :       }
    5682           45 :     case VECTOR_CST:
    5683           45 :       {
    5684           45 :         {
    5685           45 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5686           45 :           if (optimize
    5687              : )
    5688              :             {
    5689           41 :               if (flag_reciprocal_math
    5690           41 :  && !real_zerop (captures[1])
    5691              : )
    5692              :                 {
    5693            4 :                   {
    5694            4 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5695            4 :                       if (tem
    5696              : )
    5697              :                         {
    5698            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1585;
    5699            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
    5700            0 :                           {
    5701            0 :                             tree res_op0;
    5702            0 :                             res_op0 = captures[0];
    5703            0 :                             tree res_op1;
    5704            0 :                             res_op1 =  tem;
    5705            0 :                             tree _r;
    5706            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5707            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 981, __FILE__, __LINE__, true);
    5708            0 :                             return _r;
    5709              :                           }
    5710           15 : next_after_fail1585:;
    5711              :                         }
    5712              :                   }
    5713              :                 }
    5714              :               else
    5715              :                 {
    5716           37 :                   if (VECTOR_CST != COMPLEX_CST
    5717              : )
    5718              :                     {
    5719           37 :                       {
    5720           37 :  tree inverse = exact_inverse (type, captures[1]);
    5721           37 :                           if (inverse
    5722              : )
    5723              :                             {
    5724           30 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1586;
    5725           30 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
    5726           30 :                               {
    5727           30 :                                 tree res_op0;
    5728           30 :                                 res_op0 = captures[0];
    5729           30 :                                 tree res_op1;
    5730           30 :                                 res_op1 =  inverse;
    5731           30 :                                 tree _r;
    5732           30 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5733           30 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    5734           30 :                                 return _r;
    5735              :                               }
    5736           15 : next_after_fail1586:;
    5737              :                             }
    5738              :                       }
    5739              :                     }
    5740              :                 }
    5741              :             }
    5742              :         }
    5743           15 :         break;
    5744              :       }
    5745      5819432 :     default:;
    5746              :     }
    5747      5819432 :   switch (TREE_CODE (_p0))
    5748              :     {
    5749            0 :     case VEC_COND_EXPR:
    5750            0 :       {
    5751            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5752            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5753            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5754            0 :         switch (TREE_CODE (_p1))
    5755              :           {
    5756            0 :           case VEC_COND_EXPR:
    5757            0 :             {
    5758            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5759            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5760            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5761            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5762              :                 {
    5763            0 :                   {
    5764            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    5765            0 :                     if (VECTOR_TYPE_P (type)
    5766            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5767              :  || types_match (type, TREE_TYPE (captures[2]))
    5768              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5769              :  || (optimize_vectors_before_lowering_p ()
    5770              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5771              : )
    5772              :                       {
    5773            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
    5774            0 :                         {
    5775            0 :                           tree res_op0;
    5776            0 :                           res_op0 = captures[1];
    5777            0 :                           tree res_op1;
    5778            0 :                           {
    5779            0 :                             tree _o1[2], _r1;
    5780            0 :                             _o1[0] = captures[2];
    5781            0 :                             _o1[1] = captures[5];
    5782            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5783            0 :                             if (EXPR_P (_r1))
    5784            0 :                               goto next_after_fail1587;
    5785            0 :                             res_op1 = _r1;
    5786              :                           }
    5787            0 :                           tree res_op2;
    5788            0 :                           {
    5789            0 :                             tree _o1[2], _r1;
    5790            0 :                             _o1[0] = captures[3];
    5791            0 :                             _o1[1] = captures[6];
    5792            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5793            0 :                             if (EXPR_P (_r1))
    5794            0 :                               goto next_after_fail1587;
    5795            0 :                             res_op2 = _r1;
    5796              :                           }
    5797            0 :                           tree _r;
    5798            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5799            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    5800            0 :                           return _r;
    5801              :                         }
    5802            0 : next_after_fail1587:;
    5803              :                       }
    5804              :                   }
    5805              :                 }
    5806              :               break;
    5807              :             }
    5808            0 :           default:;
    5809              :           }
    5810            0 :         {
    5811            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5812            0 :           if (VECTOR_TYPE_P (type)
    5813            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5814              :  || types_match (type, TREE_TYPE (captures[2]))
    5815              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5816              :  || (optimize_vectors_before_lowering_p ()
    5817              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5818              : )
    5819              :             {
    5820            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1588;
    5821            0 :               {
    5822            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1588;
    5823            0 :                 tree res_op0;
    5824            0 :                 res_op0 = captures[1];
    5825            0 :                 tree res_op1;
    5826            0 :                 {
    5827            0 :                   tree _o1[2], _r1;
    5828            0 :                   _o1[0] = captures[2];
    5829            0 :                   _o1[1] = unshare_expr (captures[4]);
    5830            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5831            0 :                   if (EXPR_P (_r1))
    5832            0 :                     goto next_after_fail1588;
    5833            0 :                   res_op1 = _r1;
    5834              :                 }
    5835            0 :                 tree res_op2;
    5836            0 :                 {
    5837            0 :                   tree _o1[2], _r1;
    5838            0 :                   _o1[0] = captures[3];
    5839            0 :                   _o1[1] = captures[4];
    5840            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5841            0 :                   if (EXPR_P (_r1))
    5842            0 :                     goto next_after_fail1588;
    5843            0 :                   res_op2 = _r1;
    5844              :                 }
    5845            0 :                 tree _r;
    5846            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5847            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    5848            0 :                 return _r;
    5849              :               }
    5850            0 : next_after_fail1588:;
    5851              :             }
    5852              :         }
    5853            0 :         break;
    5854              :       }
    5855      5819432 :     default:;
    5856              :     }
    5857      5819432 :   switch (TREE_CODE (_p1))
    5858              :     {
    5859            0 :     case VEC_COND_EXPR:
    5860            0 :       {
    5861            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5862            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5863            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5864            0 :         {
    5865            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5866            0 :           if (VECTOR_TYPE_P (type)
    5867            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5868              :  || types_match (type, TREE_TYPE (captures[3]))
    5869              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5870              :  || (optimize_vectors_before_lowering_p ()
    5871              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5872              : )
    5873              :             {
    5874            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1589;
    5875            0 :               {
    5876            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1589;
    5877            0 :                 tree res_op0;
    5878            0 :                 res_op0 = captures[2];
    5879            0 :                 tree res_op1;
    5880            0 :                 {
    5881            0 :                   tree _o1[2], _r1;
    5882            0 :                   _o1[0] = unshare_expr (captures[0]);
    5883            0 :                   _o1[1] = captures[3];
    5884            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5885            0 :                   if (EXPR_P (_r1))
    5886            0 :                     goto next_after_fail1589;
    5887            0 :                   res_op1 = _r1;
    5888              :                 }
    5889            0 :                 tree res_op2;
    5890            0 :                 {
    5891            0 :                   tree _o1[2], _r1;
    5892            0 :                   _o1[0] = captures[0];
    5893            0 :                   _o1[1] = captures[4];
    5894            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5895            0 :                   if (EXPR_P (_r1))
    5896            0 :                     goto next_after_fail1589;
    5897            0 :                   res_op2 = _r1;
    5898              :                 }
    5899            0 :                 tree _r;
    5900            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5901            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    5902            0 :                 return _r;
    5903              :               }
    5904            0 : next_after_fail1589:;
    5905              :             }
    5906              :         }
    5907            0 :         break;
    5908              :       }
    5909       780528 :     case CALL_EXPR:
    5910       780528 :       switch (get_call_combined_fn (_p1))
    5911              :         {
    5912           20 :         case CFN_BUILT_IN_SQRTF:
    5913           20 :           if (call_expr_nargs (_p1) == 1)
    5914              :     {
    5915           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5916           20 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5917              :                 {
    5918            0 :                   {
    5919            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5920            0 :                     tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    5921            0 :                     if (res) return res;
    5922              :                   }
    5923              :                 }
    5924           20 :               switch (TREE_CODE (_q30))
    5925              :                 {
    5926            0 :                 case RDIV_EXPR:
    5927            0 :                   {
    5928            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5929            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5930            0 :                     {
    5931            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5932            0 :                       if (flag_unsafe_math_optimizations
    5933              : )
    5934              :                         {
    5935            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
    5936            0 :                           {
    5937            0 :                             tree res_op0;
    5938            0 :                             res_op0 = captures[0];
    5939            0 :                             tree res_op1;
    5940            0 :                             {
    5941            0 :                               tree _o1[1], _r1;
    5942            0 :                               {
    5943            0 :                                 tree _o2[2], _r2;
    5944            0 :                                 _o2[0] = captures[4];
    5945            0 :                                 _o2[1] = captures[3];
    5946            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5947            0 :                                 _o1[0] = _r2;
    5948              :                               }
    5949            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5950            0 :                               if (!_r1)
    5951            0 :                                 goto next_after_fail1590;
    5952            0 :                               res_op1 = _r1;
    5953              :                             }
    5954            0 :                             tree _r;
    5955            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5956            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    5957            0 :                             return _r;
    5958              :                           }
    5959            0 : next_after_fail1590:;
    5960              :                         }
    5961              :                     }
    5962            0 :                     break;
    5963              :                   }
    5964              :                 default:;
    5965              :                 }
    5966              :             }
    5967              :           break;
    5968            0 :         case CFN_BUILT_IN_SQRTL:
    5969            0 :           if (call_expr_nargs (_p1) == 1)
    5970              :     {
    5971            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5972            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5973              :                 {
    5974            0 :                   {
    5975            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5976            0 :                     tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    5977            0 :                     if (res) return res;
    5978              :                   }
    5979              :                 }
    5980            0 :               switch (TREE_CODE (_q30))
    5981              :                 {
    5982            0 :                 case RDIV_EXPR:
    5983            0 :                   {
    5984            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5985            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5986            0 :                     {
    5987            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5988            0 :                       if (flag_unsafe_math_optimizations
    5989              : )
    5990              :                         {
    5991            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1591;
    5992            0 :                           {
    5993            0 :                             tree res_op0;
    5994            0 :                             res_op0 = captures[0];
    5995            0 :                             tree res_op1;
    5996            0 :                             {
    5997            0 :                               tree _o1[1], _r1;
    5998            0 :                               {
    5999            0 :                                 tree _o2[2], _r2;
    6000            0 :                                 _o2[0] = captures[4];
    6001            0 :                                 _o2[1] = captures[3];
    6002            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6003            0 :                                 _o1[0] = _r2;
    6004              :                               }
    6005            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6006            0 :                               if (!_r1)
    6007            0 :                                 goto next_after_fail1591;
    6008            0 :                               res_op1 = _r1;
    6009              :                             }
    6010            0 :                             tree _r;
    6011            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6012            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6013            0 :                             return _r;
    6014              :                           }
    6015            0 : next_after_fail1591:;
    6016              :                         }
    6017              :                     }
    6018            0 :                     break;
    6019              :                   }
    6020              :                 default:;
    6021              :                 }
    6022              :             }
    6023              :           break;
    6024           27 :         case CFN_BUILT_IN_EXP:
    6025           27 :           if (call_expr_nargs (_p1) == 1)
    6026              :     {
    6027           27 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6028           27 :               {
    6029           27 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6030           27 :                 if (flag_unsafe_math_optimizations
    6031              : )
    6032              :                   {
    6033           27 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1592;
    6034           27 :                     {
    6035           27 :                       tree res_op0;
    6036           27 :                       res_op0 = captures[0];
    6037           27 :                       tree res_op1;
    6038           27 :                       {
    6039           27 :                         tree _o1[1], _r1;
    6040           27 :                         {
    6041           27 :                           tree _o2[1], _r2;
    6042           27 :                           _o2[0] = captures[2];
    6043           27 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6044           27 :                           _o1[0] = _r2;
    6045              :                         }
    6046           27 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6047           27 :                         if (!_r1)
    6048            0 :                           goto next_after_fail1592;
    6049           27 :                         res_op1 = _r1;
    6050              :                       }
    6051           27 :                       tree _r;
    6052           27 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6053           27 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6054           27 :                       return _r;
    6055              :                     }
    6056            0 : next_after_fail1592:;
    6057              :                   }
    6058              :               }
    6059              :             }
    6060              :           break;
    6061           24 :         case CFN_BUILT_IN_EXP10F:
    6062           24 :           if (call_expr_nargs (_p1) == 1)
    6063              :     {
    6064           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6065           24 :               {
    6066           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6067           24 :                 if (flag_unsafe_math_optimizations
    6068              : )
    6069              :                   {
    6070           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1593;
    6071           24 :                     {
    6072           24 :                       tree res_op0;
    6073           24 :                       res_op0 = captures[0];
    6074           24 :                       tree res_op1;
    6075           24 :                       {
    6076           24 :                         tree _o1[1], _r1;
    6077           24 :                         {
    6078           24 :                           tree _o2[1], _r2;
    6079           24 :                           _o2[0] = captures[2];
    6080           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6081           24 :                           _o1[0] = _r2;
    6082              :                         }
    6083           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6084           24 :                         if (!_r1)
    6085            0 :                           goto next_after_fail1593;
    6086           24 :                         res_op1 = _r1;
    6087              :                       }
    6088           24 :                       tree _r;
    6089           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6090           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6091           24 :                       return _r;
    6092              :                     }
    6093            0 : next_after_fail1593:;
    6094              :                   }
    6095              :               }
    6096              :             }
    6097              :           break;
    6098           24 :         case CFN_BUILT_IN_EXP10L:
    6099           24 :           if (call_expr_nargs (_p1) == 1)
    6100              :     {
    6101           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6102           24 :               {
    6103           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6104           24 :                 if (flag_unsafe_math_optimizations
    6105              : )
    6106              :                   {
    6107           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1594;
    6108           24 :                     {
    6109           24 :                       tree res_op0;
    6110           24 :                       res_op0 = captures[0];
    6111           24 :                       tree res_op1;
    6112           24 :                       {
    6113           24 :                         tree _o1[1], _r1;
    6114           24 :                         {
    6115           24 :                           tree _o2[1], _r2;
    6116           24 :                           _o2[0] = captures[2];
    6117           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6118           24 :                           _o1[0] = _r2;
    6119              :                         }
    6120           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6121           24 :                         if (!_r1)
    6122            0 :                           goto next_after_fail1594;
    6123           24 :                         res_op1 = _r1;
    6124              :                       }
    6125           24 :                       tree _r;
    6126           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6127           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6128           24 :                       return _r;
    6129              :                     }
    6130            0 : next_after_fail1594:;
    6131              :                   }
    6132              :               }
    6133              :             }
    6134              :           break;
    6135            3 :         case CFN_BUILT_IN_CBRT:
    6136            3 :           if (call_expr_nargs (_p1) == 1)
    6137              :     {
    6138            3 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6139            3 :               switch (TREE_CODE (_q30))
    6140              :                 {
    6141            2 :                 case RDIV_EXPR:
    6142            2 :                   {
    6143            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6144            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6145            2 :                     {
    6146            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6147            2 :                       if (flag_unsafe_math_optimizations
    6148              : )
    6149              :                         {
    6150            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
    6151            2 :                           {
    6152            2 :                             tree res_op0;
    6153            2 :                             res_op0 = captures[0];
    6154            2 :                             tree res_op1;
    6155            2 :                             {
    6156            2 :                               tree _o1[1], _r1;
    6157            2 :                               {
    6158            2 :                                 tree _o2[2], _r2;
    6159            2 :                                 _o2[0] = captures[4];
    6160            2 :                                 _o2[1] = captures[3];
    6161            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6162            2 :                                 _o1[0] = _r2;
    6163              :                               }
    6164            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6165            2 :                               if (!_r1)
    6166            0 :                                 goto next_after_fail1595;
    6167            2 :                               res_op1 = _r1;
    6168              :                             }
    6169            2 :                             tree _r;
    6170            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6171            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6172            2 :                             return _r;
    6173              :                           }
    6174            0 : next_after_fail1595:;
    6175              :                         }
    6176              :                     }
    6177            0 :                     break;
    6178              :                   }
    6179              :                 default:;
    6180              :                 }
    6181              :             }
    6182              :           break;
    6183           24 :         case CFN_BUILT_IN_EXP2:
    6184           24 :           if (call_expr_nargs (_p1) == 1)
    6185              :     {
    6186           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6187           24 :               {
    6188           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6189           24 :                 if (flag_unsafe_math_optimizations
    6190              : )
    6191              :                   {
    6192           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
    6193           24 :                     {
    6194           24 :                       tree res_op0;
    6195           24 :                       res_op0 = captures[0];
    6196           24 :                       tree res_op1;
    6197           24 :                       {
    6198           24 :                         tree _o1[1], _r1;
    6199           24 :                         {
    6200           24 :                           tree _o2[1], _r2;
    6201           24 :                           _o2[0] = captures[2];
    6202           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6203           24 :                           _o1[0] = _r2;
    6204              :                         }
    6205           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6206           24 :                         if (!_r1)
    6207            0 :                           goto next_after_fail1596;
    6208           24 :                         res_op1 = _r1;
    6209              :                       }
    6210           24 :                       tree _r;
    6211           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6212           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6213           24 :                       return _r;
    6214              :                     }
    6215            0 : next_after_fail1596:;
    6216              :                   }
    6217              :               }
    6218              :             }
    6219              :           break;
    6220           25 :         case CFN_BUILT_IN_EXPF:
    6221           25 :           if (call_expr_nargs (_p1) == 1)
    6222              :     {
    6223           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6224           25 :               {
    6225           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6226           25 :                 if (flag_unsafe_math_optimizations
    6227              : )
    6228              :                   {
    6229           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1597;
    6230           25 :                     {
    6231           25 :                       tree res_op0;
    6232           25 :                       res_op0 = captures[0];
    6233           25 :                       tree res_op1;
    6234           25 :                       {
    6235           25 :                         tree _o1[1], _r1;
    6236           25 :                         {
    6237           25 :                           tree _o2[1], _r2;
    6238           25 :                           _o2[0] = captures[2];
    6239           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6240           25 :                           _o1[0] = _r2;
    6241              :                         }
    6242           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6243           25 :                         if (!_r1)
    6244            0 :                           goto next_after_fail1597;
    6245           25 :                         res_op1 = _r1;
    6246              :                       }
    6247           25 :                       tree _r;
    6248           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6249           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6250           25 :                       return _r;
    6251              :                     }
    6252            0 : next_after_fail1597:;
    6253              :                   }
    6254              :               }
    6255              :             }
    6256              :           break;
    6257           25 :         case CFN_BUILT_IN_EXPL:
    6258           25 :           if (call_expr_nargs (_p1) == 1)
    6259              :     {
    6260           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6261           25 :               {
    6262           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6263           25 :                 if (flag_unsafe_math_optimizations
    6264              : )
    6265              :                   {
    6266           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1598;
    6267           25 :                     {
    6268           25 :                       tree res_op0;
    6269           25 :                       res_op0 = captures[0];
    6270           25 :                       tree res_op1;
    6271           25 :                       {
    6272           25 :                         tree _o1[1], _r1;
    6273           25 :                         {
    6274           25 :                           tree _o2[1], _r2;
    6275           25 :                           _o2[0] = captures[2];
    6276           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6277           25 :                           _o1[0] = _r2;
    6278              :                         }
    6279           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6280           25 :                         if (!_r1)
    6281            0 :                           goto next_after_fail1598;
    6282           25 :                         res_op1 = _r1;
    6283              :                       }
    6284           25 :                       tree _r;
    6285           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6286           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6287           25 :                       return _r;
    6288              :                     }
    6289            0 : next_after_fail1598:;
    6290              :                   }
    6291              :               }
    6292              :             }
    6293              :           break;
    6294          298 :         case CFN_BUILT_IN_SQRT:
    6295          298 :           if (call_expr_nargs (_p1) == 1)
    6296              :     {
    6297          298 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6298          298 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6299              :                 {
    6300            0 :                   {
    6301            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6302            0 :                     tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
    6303            0 :                     if (res) return res;
    6304              :                   }
    6305              :                 }
    6306          298 :               switch (TREE_CODE (_q30))
    6307              :                 {
    6308            2 :                 case RDIV_EXPR:
    6309            2 :                   {
    6310            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6311            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6312            2 :                     {
    6313            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6314            2 :                       if (flag_unsafe_math_optimizations
    6315              : )
    6316              :                         {
    6317            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
    6318            2 :                           {
    6319            2 :                             tree res_op0;
    6320            2 :                             res_op0 = captures[0];
    6321            2 :                             tree res_op1;
    6322            2 :                             {
    6323            2 :                               tree _o1[1], _r1;
    6324            2 :                               {
    6325            2 :                                 tree _o2[2], _r2;
    6326            2 :                                 _o2[0] = captures[4];
    6327            2 :                                 _o2[1] = captures[3];
    6328            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6329            2 :                                 _o1[0] = _r2;
    6330              :                               }
    6331            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6332            2 :                               if (!_r1)
    6333            0 :                                 goto next_after_fail1599;
    6334            2 :                               res_op1 = _r1;
    6335              :                             }
    6336            2 :                             tree _r;
    6337            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6338            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6339            2 :                             return _r;
    6340              :                           }
    6341            0 : next_after_fail1599:;
    6342              :                         }
    6343              :                     }
    6344            0 :                     break;
    6345              :                   }
    6346              :                 default:;
    6347              :                 }
    6348              :             }
    6349              :           break;
    6350            0 :         case CFN_EXP:
    6351            0 :           if (call_expr_nargs (_p1) == 1)
    6352              :     {
    6353            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6354            0 :               {
    6355            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6356            0 :                 if (flag_unsafe_math_optimizations
    6357              : )
    6358              :                   {
    6359            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
    6360            0 :                     {
    6361            0 :                       tree res_op0;
    6362            0 :                       res_op0 = captures[0];
    6363            0 :                       tree res_op1;
    6364            0 :                       {
    6365            0 :                         tree _o1[1], _r1;
    6366            0 :                         {
    6367            0 :                           tree _o2[1], _r2;
    6368            0 :                           _o2[0] = captures[2];
    6369            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6370            0 :                           _o1[0] = _r2;
    6371              :                         }
    6372            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6373            0 :                         if (!_r1)
    6374            0 :                           goto next_after_fail1600;
    6375            0 :                         res_op1 = _r1;
    6376              :                       }
    6377            0 :                       tree _r;
    6378            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6379            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6380            0 :                       return _r;
    6381              :                     }
    6382            0 : next_after_fail1600:;
    6383              :                   }
    6384              :               }
    6385              :             }
    6386              :           break;
    6387           24 :         case CFN_BUILT_IN_POW10F:
    6388           24 :           if (call_expr_nargs (_p1) == 1)
    6389              :     {
    6390           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6391           24 :               {
    6392           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6393           24 :                 if (flag_unsafe_math_optimizations
    6394              : )
    6395              :                   {
    6396           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
    6397           24 :                     {
    6398           24 :                       tree res_op0;
    6399           24 :                       res_op0 = captures[0];
    6400           24 :                       tree res_op1;
    6401           24 :                       {
    6402           24 :                         tree _o1[1], _r1;
    6403           24 :                         {
    6404           24 :                           tree _o2[1], _r2;
    6405           24 :                           _o2[0] = captures[2];
    6406           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6407           24 :                           _o1[0] = _r2;
    6408              :                         }
    6409           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6410           24 :                         if (!_r1)
    6411           24 :                           goto next_after_fail1601;
    6412            0 :                         res_op1 = _r1;
    6413              :                       }
    6414            0 :                       tree _r;
    6415            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6416            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6417            0 :                       return _r;
    6418              :                     }
    6419           24 : next_after_fail1601:;
    6420              :                   }
    6421              :               }
    6422              :             }
    6423              :           break;
    6424           24 :         case CFN_BUILT_IN_POW10L:
    6425           24 :           if (call_expr_nargs (_p1) == 1)
    6426              :     {
    6427           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6428           24 :               {
    6429           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6430           24 :                 if (flag_unsafe_math_optimizations
    6431              : )
    6432              :                   {
    6433           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
    6434           24 :                     {
    6435           24 :                       tree res_op0;
    6436           24 :                       res_op0 = captures[0];
    6437           24 :                       tree res_op1;
    6438           24 :                       {
    6439           24 :                         tree _o1[1], _r1;
    6440           24 :                         {
    6441           24 :                           tree _o2[1], _r2;
    6442           24 :                           _o2[0] = captures[2];
    6443           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6444           24 :                           _o1[0] = _r2;
    6445              :                         }
    6446           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6447           24 :                         if (!_r1)
    6448           24 :                           goto next_after_fail1602;
    6449            0 :                         res_op1 = _r1;
    6450              :                       }
    6451            0 :                       tree _r;
    6452            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6453            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6454            0 :                       return _r;
    6455              :                     }
    6456           24 : next_after_fail1602:;
    6457              :                   }
    6458              :               }
    6459              :             }
    6460              :           break;
    6461            0 :         case CFN_EXP2:
    6462            0 :           if (call_expr_nargs (_p1) == 1)
    6463              :     {
    6464            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6465            0 :               {
    6466            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6467            0 :                 if (flag_unsafe_math_optimizations
    6468              : )
    6469              :                   {
    6470            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
    6471            0 :                     {
    6472            0 :                       tree res_op0;
    6473            0 :                       res_op0 = captures[0];
    6474            0 :                       tree res_op1;
    6475            0 :                       {
    6476            0 :                         tree _o1[1], _r1;
    6477            0 :                         {
    6478            0 :                           tree _o2[1], _r2;
    6479            0 :                           _o2[0] = captures[2];
    6480            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6481            0 :                           _o1[0] = _r2;
    6482              :                         }
    6483            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6484            0 :                         if (!_r1)
    6485            0 :                           goto next_after_fail1603;
    6486            0 :                         res_op1 = _r1;
    6487              :                       }
    6488            0 :                       tree _r;
    6489            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6490            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6491            0 :                       return _r;
    6492              :                     }
    6493            0 : next_after_fail1603:;
    6494              :                   }
    6495              :               }
    6496              :             }
    6497              :           break;
    6498            0 :         case CFN_SQRT:
    6499            0 :           if (call_expr_nargs (_p1) == 1)
    6500              :     {
    6501            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6502            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6503              :                 {
    6504            0 :                   {
    6505            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6506            0 :                     tree res = generic_simplify_330 (loc, type, _p0, _p1, captures, CFN_SQRT);
    6507            0 :                     if (res) return res;
    6508              :                   }
    6509              :                 }
    6510            0 :               switch (TREE_CODE (_q30))
    6511              :                 {
    6512            0 :                 case RDIV_EXPR:
    6513            0 :                   {
    6514            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6515            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6516            0 :                     {
    6517            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6518            0 :                       if (flag_unsafe_math_optimizations
    6519              : )
    6520              :                         {
    6521            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1604;
    6522            0 :                           {
    6523            0 :                             tree res_op0;
    6524            0 :                             res_op0 = captures[0];
    6525            0 :                             tree res_op1;
    6526            0 :                             {
    6527            0 :                               tree _o1[1], _r1;
    6528            0 :                               {
    6529            0 :                                 tree _o2[2], _r2;
    6530            0 :                                 _o2[0] = captures[4];
    6531            0 :                                 _o2[1] = captures[3];
    6532            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6533            0 :                                 _o1[0] = _r2;
    6534              :                               }
    6535            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6536            0 :                               if (!_r1)
    6537            0 :                                 goto next_after_fail1604;
    6538            0 :                               res_op1 = _r1;
    6539              :                             }
    6540            0 :                             tree _r;
    6541            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6542            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6543            0 :                             return _r;
    6544              :                           }
    6545            0 : next_after_fail1604:;
    6546              :                         }
    6547              :                     }
    6548            0 :                     break;
    6549              :                   }
    6550              :                 default:;
    6551              :                 }
    6552              :             }
    6553              :           break;
    6554            0 :         case CFN_EXP10:
    6555            0 :           if (call_expr_nargs (_p1) == 1)
    6556              :     {
    6557            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6558            0 :               {
    6559            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6560            0 :                 if (flag_unsafe_math_optimizations
    6561              : )
    6562              :                   {
    6563            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1605;
    6564            0 :                     {
    6565            0 :                       tree res_op0;
    6566            0 :                       res_op0 = captures[0];
    6567            0 :                       tree res_op1;
    6568            0 :                       {
    6569            0 :                         tree _o1[1], _r1;
    6570            0 :                         {
    6571            0 :                           tree _o2[1], _r2;
    6572            0 :                           _o2[0] = captures[2];
    6573            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6574            0 :                           _o1[0] = _r2;
    6575              :                         }
    6576            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6577            0 :                         if (!_r1)
    6578            0 :                           goto next_after_fail1605;
    6579            0 :                         res_op1 = _r1;
    6580              :                       }
    6581            0 :                       tree _r;
    6582            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6583            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6584            0 :                       return _r;
    6585              :                     }
    6586            0 : next_after_fail1605:;
    6587              :                   }
    6588              :               }
    6589              :             }
    6590              :           break;
    6591            0 :         case CFN_BUILT_IN_CBRTF:
    6592            0 :           if (call_expr_nargs (_p1) == 1)
    6593              :     {
    6594            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6595            0 :               switch (TREE_CODE (_q30))
    6596              :                 {
    6597            0 :                 case RDIV_EXPR:
    6598            0 :                   {
    6599            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6600            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6601            0 :                     {
    6602            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6603            0 :                       if (flag_unsafe_math_optimizations
    6604              : )
    6605              :                         {
    6606            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
    6607            0 :                           {
    6608            0 :                             tree res_op0;
    6609            0 :                             res_op0 = captures[0];
    6610            0 :                             tree res_op1;
    6611            0 :                             {
    6612            0 :                               tree _o1[1], _r1;
    6613            0 :                               {
    6614            0 :                                 tree _o2[2], _r2;
    6615            0 :                                 _o2[0] = captures[4];
    6616            0 :                                 _o2[1] = captures[3];
    6617            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6618            0 :                                 _o1[0] = _r2;
    6619              :                               }
    6620            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6621            0 :                               if (!_r1)
    6622            0 :                                 goto next_after_fail1606;
    6623            0 :                               res_op1 = _r1;
    6624              :                             }
    6625            0 :                             tree _r;
    6626            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6627            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6628            0 :                             return _r;
    6629              :                           }
    6630            0 : next_after_fail1606:;
    6631              :                         }
    6632              :                     }
    6633            0 :                     break;
    6634              :                   }
    6635              :                 default:;
    6636              :                 }
    6637              :             }
    6638              :           break;
    6639            0 :         case CFN_BUILT_IN_CBRTL:
    6640            0 :           if (call_expr_nargs (_p1) == 1)
    6641              :     {
    6642            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6643            0 :               switch (TREE_CODE (_q30))
    6644              :                 {
    6645            0 :                 case RDIV_EXPR:
    6646            0 :                   {
    6647            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6648            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6649            0 :                     {
    6650            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6651            0 :                       if (flag_unsafe_math_optimizations
    6652              : )
    6653              :                         {
    6654            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
    6655            0 :                           {
    6656            0 :                             tree res_op0;
    6657            0 :                             res_op0 = captures[0];
    6658            0 :                             tree res_op1;
    6659            0 :                             {
    6660            0 :                               tree _o1[1], _r1;
    6661            0 :                               {
    6662            0 :                                 tree _o2[2], _r2;
    6663            0 :                                 _o2[0] = captures[4];
    6664            0 :                                 _o2[1] = captures[3];
    6665            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6666            0 :                                 _o1[0] = _r2;
    6667              :                               }
    6668            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6669            0 :                               if (!_r1)
    6670            0 :                                 goto next_after_fail1607;
    6671            0 :                               res_op1 = _r1;
    6672              :                             }
    6673            0 :                             tree _r;
    6674            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6675            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 983, __FILE__, __LINE__, true);
    6676            0 :                             return _r;
    6677              :                           }
    6678            0 : next_after_fail1607:;
    6679              :                         }
    6680              :                     }
    6681            0 :                     break;
    6682              :                   }
    6683              :                 default:;
    6684              :                 }
    6685              :             }
    6686              :           break;
    6687           24 :         case CFN_BUILT_IN_EXP10:
    6688           24 :           if (call_expr_nargs (_p1) == 1)
    6689              :     {
    6690           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6691           24 :               {
    6692           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6693           24 :                 if (flag_unsafe_math_optimizations
    6694              : )
    6695              :                   {
    6696           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1608;
    6697           24 :                     {
    6698           24 :                       tree res_op0;
    6699           24 :                       res_op0 = captures[0];
    6700           24 :                       tree res_op1;
    6701           24 :                       {
    6702           24 :                         tree _o1[1], _r1;
    6703           24 :                         {
    6704           24 :                           tree _o2[1], _r2;
    6705           24 :                           _o2[0] = captures[2];
    6706           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6707           24 :                           _o1[0] = _r2;
    6708              :                         }
    6709           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6710           24 :                         if (!_r1)
    6711            0 :                           goto next_after_fail1608;
    6712           24 :                         res_op1 = _r1;
    6713              :                       }
    6714           24 :                       tree _r;
    6715           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6716           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6717           24 :                       return _r;
    6718              :                     }
    6719            0 : next_after_fail1608:;
    6720              :                   }
    6721              :               }
    6722              :             }
    6723              :           break;
    6724           24 :         case CFN_BUILT_IN_EXP2F:
    6725           24 :           if (call_expr_nargs (_p1) == 1)
    6726              :     {
    6727           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6728           24 :               {
    6729           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6730           24 :                 if (flag_unsafe_math_optimizations
    6731              : )
    6732              :                   {
    6733           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1609;
    6734           24 :                     {
    6735           24 :                       tree res_op0;
    6736           24 :                       res_op0 = captures[0];
    6737           24 :                       tree res_op1;
    6738           24 :                       {
    6739           24 :                         tree _o1[1], _r1;
    6740           24 :                         {
    6741           24 :                           tree _o2[1], _r2;
    6742           24 :                           _o2[0] = captures[2];
    6743           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6744           24 :                           _o1[0] = _r2;
    6745              :                         }
    6746           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6747           24 :                         if (!_r1)
    6748            0 :                           goto next_after_fail1609;
    6749           24 :                         res_op1 = _r1;
    6750              :                       }
    6751           24 :                       tree _r;
    6752           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6753           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6754           24 :                       return _r;
    6755              :                     }
    6756            0 : next_after_fail1609:;
    6757              :                   }
    6758              :               }
    6759              :             }
    6760              :           break;
    6761           24 :         case CFN_BUILT_IN_EXP2L:
    6762           24 :           if (call_expr_nargs (_p1) == 1)
    6763              :     {
    6764           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6765           24 :               {
    6766           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6767           24 :                 if (flag_unsafe_math_optimizations
    6768              : )
    6769              :                   {
    6770           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1610;
    6771           24 :                     {
    6772           24 :                       tree res_op0;
    6773           24 :                       res_op0 = captures[0];
    6774           24 :                       tree res_op1;
    6775           24 :                       {
    6776           24 :                         tree _o1[1], _r1;
    6777           24 :                         {
    6778           24 :                           tree _o2[1], _r2;
    6779           24 :                           _o2[0] = captures[2];
    6780           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6781           24 :                           _o1[0] = _r2;
    6782              :                         }
    6783           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6784           24 :                         if (!_r1)
    6785            0 :                           goto next_after_fail1610;
    6786           24 :                         res_op1 = _r1;
    6787              :                       }
    6788           24 :                       tree _r;
    6789           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6790           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6791           24 :                       return _r;
    6792              :                     }
    6793            0 : next_after_fail1610:;
    6794              :                   }
    6795              :               }
    6796              :             }
    6797              :           break;
    6798           24 :         case CFN_BUILT_IN_POW10:
    6799           24 :           if (call_expr_nargs (_p1) == 1)
    6800              :     {
    6801           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6802           24 :               {
    6803           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6804           24 :                 if (flag_unsafe_math_optimizations
    6805              : )
    6806              :                   {
    6807           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1611;
    6808           24 :                     {
    6809           24 :                       tree res_op0;
    6810           24 :                       res_op0 = captures[0];
    6811           24 :                       tree res_op1;
    6812           24 :                       {
    6813           24 :                         tree _o1[1], _r1;
    6814           24 :                         {
    6815           24 :                           tree _o2[1], _r2;
    6816           24 :                           _o2[0] = captures[2];
    6817           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6818           24 :                           _o1[0] = _r2;
    6819              :                         }
    6820           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6821           24 :                         if (!_r1)
    6822           24 :                           goto next_after_fail1611;
    6823            0 :                         res_op1 = _r1;
    6824              :                       }
    6825            0 :                       tree _r;
    6826            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6827            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 984, __FILE__, __LINE__, true);
    6828            0 :                       return _r;
    6829              :                     }
    6830           24 : next_after_fail1611:;
    6831              :                   }
    6832              :               }
    6833              :             }
    6834              :           break;
    6835              :         default:;
    6836              :         }
    6837              :       break;
    6838      5819207 :     default:;
    6839              :     }
    6840      5819207 :   switch (TREE_CODE (_p0))
    6841              :     {
    6842       187581 :     case CALL_EXPR:
    6843       187581 :       switch (get_call_combined_fn (_p0))
    6844              :         {
    6845            1 :         case CFN_BUILT_IN_SINHF:
    6846            1 :           if (call_expr_nargs (_p0) == 1)
    6847              :     {
    6848            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6849            1 :               switch (TREE_CODE (_p1))
    6850              :                 {
    6851            1 :                 case CALL_EXPR:
    6852            1 :                   switch (get_call_combined_fn (_p1))
    6853              :                     {
    6854            1 :                     case CFN_BUILT_IN_COSHF:
    6855            1 :                       if (call_expr_nargs (_p1) == 1)
    6856              :     {
    6857            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6858            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6859              :                             {
    6860            1 :                               {
    6861            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6862            1 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
    6863            1 :                                 if (res) return res;
    6864              :                               }
    6865              :                             }
    6866              :                         }
    6867              :                       break;
    6868              :                     default:;
    6869              :                     }
    6870              :                   break;
    6871              :                 default:;
    6872              :                 }
    6873              :             }
    6874              :           break;
    6875            1 :         case CFN_BUILT_IN_SINHL:
    6876            1 :           if (call_expr_nargs (_p0) == 1)
    6877              :     {
    6878            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6879            1 :               switch (TREE_CODE (_p1))
    6880              :                 {
    6881            1 :                 case CALL_EXPR:
    6882            1 :                   switch (get_call_combined_fn (_p1))
    6883              :                     {
    6884            1 :                     case CFN_BUILT_IN_COSHL:
    6885            1 :                       if (call_expr_nargs (_p1) == 1)
    6886              :     {
    6887            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6888            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6889              :                             {
    6890            1 :                               {
    6891            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6892            1 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
    6893            1 :                                 if (res) return res;
    6894              :                               }
    6895              :                             }
    6896              :                         }
    6897              :                       break;
    6898              :                     default:;
    6899              :                     }
    6900              :                   break;
    6901              :                 default:;
    6902              :                 }
    6903              :             }
    6904              :           break;
    6905            1 :         case CFN_BUILT_IN_TANHF:
    6906            1 :           if (call_expr_nargs (_p0) == 1)
    6907              :     {
    6908            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6909            1 :               switch (TREE_CODE (_p1))
    6910              :                 {
    6911            1 :                 case CALL_EXPR:
    6912            1 :                   switch (get_call_combined_fn (_p1))
    6913              :                     {
    6914            1 :                     case CFN_BUILT_IN_SINHF:
    6915            1 :                       if (call_expr_nargs (_p1) == 1)
    6916              :     {
    6917            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6918            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6919              :                             {
    6920            1 :                               {
    6921            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6922            1 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
    6923            1 :                                 if (res) return res;
    6924              :                               }
    6925              :                             }
    6926              :                         }
    6927              :                       break;
    6928              :                     default:;
    6929              :                     }
    6930              :                   break;
    6931              :                 default:;
    6932              :                 }
    6933              :             }
    6934              :           break;
    6935            1 :         case CFN_BUILT_IN_TANHL:
    6936            1 :           if (call_expr_nargs (_p0) == 1)
    6937              :     {
    6938            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6939            1 :               switch (TREE_CODE (_p1))
    6940              :                 {
    6941            1 :                 case CALL_EXPR:
    6942            1 :                   switch (get_call_combined_fn (_p1))
    6943              :                     {
    6944            1 :                     case CFN_BUILT_IN_SINHL:
    6945            1 :                       if (call_expr_nargs (_p1) == 1)
    6946              :     {
    6947            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6948            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6949              :                             {
    6950            1 :                               {
    6951            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6952            1 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
    6953            1 :                                 if (res) return res;
    6954              :                               }
    6955              :                             }
    6956              :                         }
    6957              :                       break;
    6958              :                     default:;
    6959              :                     }
    6960              :                   break;
    6961              :                 default:;
    6962              :                 }
    6963              :             }
    6964              :           break;
    6965            2 :         case CFN_BUILT_IN_COS:
    6966            2 :           if (call_expr_nargs (_p0) == 1)
    6967              :     {
    6968            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6969            2 :               switch (TREE_CODE (_p1))
    6970              :                 {
    6971            2 :                 case CALL_EXPR:
    6972            2 :                   switch (get_call_combined_fn (_p1))
    6973              :                     {
    6974            2 :                     case CFN_BUILT_IN_SIN:
    6975            2 :                       if (call_expr_nargs (_p1) == 1)
    6976              :     {
    6977            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6978            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6979              :                             {
    6980            2 :                               {
    6981            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6982            2 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
    6983            2 :                                 if (res) return res;
    6984              :                               }
    6985              :                             }
    6986              :                         }
    6987              :                       break;
    6988              :                     default:;
    6989              :                     }
    6990              :                   break;
    6991              :                 default:;
    6992              :                 }
    6993              :             }
    6994              :           break;
    6995            4 :         case CFN_BUILT_IN_POW:
    6996            4 :           if (call_expr_nargs (_p0) == 2)
    6997              :     {
    6998            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6999            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7000            4 :               switch (TREE_CODE (_q21))
    7001              :                 {
    7002            4 :                 case REAL_CST:
    7003            4 :                   {
    7004            4 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7005              :                       {
    7006            4 :                         {
    7007            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7008            4 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7009            4 :                           if (res) return res;
    7010              :                         }
    7011              :                       }
    7012              :                     break;
    7013              :                   }
    7014              :                 default:;
    7015              :                 }
    7016              :             }
    7017              :           break;
    7018           86 :         case CFN_BUILT_IN_SIN:
    7019           86 :           if (call_expr_nargs (_p0) == 1)
    7020              :     {
    7021           86 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7022           86 :               switch (TREE_CODE (_p1))
    7023              :                 {
    7024            4 :                 case CALL_EXPR:
    7025            4 :                   switch (get_call_combined_fn (_p1))
    7026              :                     {
    7027            2 :                     case CFN_BUILT_IN_COS:
    7028            2 :                       if (call_expr_nargs (_p1) == 1)
    7029              :     {
    7030            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7031            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7032              :                             {
    7033            2 :                               {
    7034            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7035            2 :                                 tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
    7036            2 :                                 if (res) return res;
    7037              :                               }
    7038              :                             }
    7039              :                         }
    7040              :                       break;
    7041            2 :                     case CFN_BUILT_IN_TAN:
    7042            2 :                       if (call_expr_nargs (_p1) == 1)
    7043              :     {
    7044            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7045            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7046              :                             {
    7047            2 :                               {
    7048            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7049            2 :                                 tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
    7050            2 :                                 if (res) return res;
    7051              :                               }
    7052              :                             }
    7053              :                         }
    7054              :                       break;
    7055              :                     default:;
    7056              :                     }
    7057              :                   break;
    7058              :                 default:;
    7059              :                 }
    7060              :             }
    7061              :           break;
    7062            2 :         case CFN_BUILT_IN_TAN:
    7063            2 :           if (call_expr_nargs (_p0) == 1)
    7064              :     {
    7065            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7066            2 :               switch (TREE_CODE (_p1))
    7067              :                 {
    7068            2 :                 case CALL_EXPR:
    7069            2 :                   switch (get_call_combined_fn (_p1))
    7070              :                     {
    7071            2 :                     case CFN_BUILT_IN_SIN:
    7072            2 :                       if (call_expr_nargs (_p1) == 1)
    7073              :     {
    7074            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7075            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7076              :                             {
    7077            2 :                               {
    7078            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7079            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
    7080            2 :                                 if (res) return res;
    7081              :                               }
    7082              :                             }
    7083              :                         }
    7084              :                       break;
    7085              :                     default:;
    7086              :                     }
    7087              :                   break;
    7088              :                 default:;
    7089              :                 }
    7090              :             }
    7091              :           break;
    7092            2 :         case CFN_BUILT_IN_COSF:
    7093            2 :           if (call_expr_nargs (_p0) == 1)
    7094              :     {
    7095            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7096            2 :               switch (TREE_CODE (_p1))
    7097              :                 {
    7098            2 :                 case CALL_EXPR:
    7099            2 :                   switch (get_call_combined_fn (_p1))
    7100              :                     {
    7101            2 :                     case CFN_BUILT_IN_SINF:
    7102            2 :                       if (call_expr_nargs (_p1) == 1)
    7103              :     {
    7104            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7105            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7106              :                             {
    7107            2 :                               {
    7108            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7109            2 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
    7110            2 :                                 if (res) return res;
    7111              :                               }
    7112              :                             }
    7113              :                         }
    7114              :                       break;
    7115              :                     default:;
    7116              :                     }
    7117              :                   break;
    7118              :                 default:;
    7119              :                 }
    7120              :             }
    7121              :           break;
    7122            2 :         case CFN_BUILT_IN_COSL:
    7123            2 :           if (call_expr_nargs (_p0) == 1)
    7124              :     {
    7125            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7126            2 :               switch (TREE_CODE (_p1))
    7127              :                 {
    7128            2 :                 case CALL_EXPR:
    7129            2 :                   switch (get_call_combined_fn (_p1))
    7130              :                     {
    7131            2 :                     case CFN_BUILT_IN_SINL:
    7132            2 :                       if (call_expr_nargs (_p1) == 1)
    7133              :     {
    7134            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7135            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7136              :                             {
    7137            2 :                               {
    7138            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7139            2 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
    7140            2 :                                 if (res) return res;
    7141              :                               }
    7142              :                             }
    7143              :                         }
    7144              :                       break;
    7145              :                     default:;
    7146              :                     }
    7147              :                   break;
    7148              :                 default:;
    7149              :                 }
    7150              :             }
    7151              :           break;
    7152            1 :         case CFN_BUILT_IN_POWF:
    7153            1 :           if (call_expr_nargs (_p0) == 2)
    7154              :     {
    7155            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7156            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7157            1 :               switch (TREE_CODE (_q21))
    7158              :                 {
    7159            1 :                 case REAL_CST:
    7160            1 :                   {
    7161            1 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7162              :                       {
    7163            0 :                         {
    7164            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7165            0 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7166            0 :                           if (res) return res;
    7167              :                         }
    7168              :                       }
    7169              :                     break;
    7170              :                   }
    7171              :                 default:;
    7172              :                 }
    7173              :             }
    7174              :           break;
    7175            0 :         case CFN_BUILT_IN_POWL:
    7176            0 :           if (call_expr_nargs (_p0) == 2)
    7177              :     {
    7178            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7179            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7180            0 :               switch (TREE_CODE (_q21))
    7181              :                 {
    7182            0 :                 case REAL_CST:
    7183            0 :                   {
    7184            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7185              :                       {
    7186            0 :                         {
    7187            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7188            0 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7189            0 :                           if (res) return res;
    7190              :                         }
    7191              :                       }
    7192              :                     break;
    7193              :                   }
    7194              :                 default:;
    7195              :                 }
    7196              :             }
    7197              :           break;
    7198            4 :         case CFN_BUILT_IN_SINF:
    7199            4 :           if (call_expr_nargs (_p0) == 1)
    7200              :     {
    7201            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7202            4 :               switch (TREE_CODE (_p1))
    7203              :                 {
    7204            4 :                 case CALL_EXPR:
    7205            4 :                   switch (get_call_combined_fn (_p1))
    7206              :                     {
    7207            2 :                     case CFN_BUILT_IN_COSF:
    7208            2 :                       if (call_expr_nargs (_p1) == 1)
    7209              :     {
    7210            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7211            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7212              :                             {
    7213            2 :                               {
    7214            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7215            2 :                                 tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
    7216            2 :                                 if (res) return res;
    7217              :                               }
    7218              :                             }
    7219              :                         }
    7220              :                       break;
    7221            2 :                     case CFN_BUILT_IN_TANF:
    7222            2 :                       if (call_expr_nargs (_p1) == 1)
    7223              :     {
    7224            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7225            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7226              :                             {
    7227            2 :                               {
    7228            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7229            2 :                                 tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
    7230            2 :                                 if (res) return res;
    7231              :                               }
    7232              :                             }
    7233              :                         }
    7234              :                       break;
    7235              :                     default:;
    7236              :                     }
    7237              :                   break;
    7238              :                 default:;
    7239              :                 }
    7240              :             }
    7241              :           break;
    7242          135 :         case CFN_BUILT_IN_SINH:
    7243          135 :           if (call_expr_nargs (_p0) == 1)
    7244              :     {
    7245          135 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7246          135 :               switch (TREE_CODE (_p1))
    7247              :                 {
    7248            3 :                 case CALL_EXPR:
    7249            3 :                   switch (get_call_combined_fn (_p1))
    7250              :                     {
    7251            3 :                     case CFN_BUILT_IN_COSH:
    7252            3 :                       if (call_expr_nargs (_p1) == 1)
    7253              :     {
    7254            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7255            3 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7256              :                             {
    7257            3 :                               {
    7258            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7259            3 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
    7260            3 :                                 if (res) return res;
    7261              :                               }
    7262              :                             }
    7263              :                         }
    7264              :                       break;
    7265              :                     default:;
    7266              :                     }
    7267              :                   break;
    7268              :                 default:;
    7269              :                 }
    7270              :             }
    7271              :           break;
    7272            4 :         case CFN_BUILT_IN_SINL:
    7273            4 :           if (call_expr_nargs (_p0) == 1)
    7274              :     {
    7275            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7276            4 :               switch (TREE_CODE (_p1))
    7277              :                 {
    7278            4 :                 case CALL_EXPR:
    7279            4 :                   switch (get_call_combined_fn (_p1))
    7280              :                     {
    7281            2 :                     case CFN_BUILT_IN_COSL:
    7282            2 :                       if (call_expr_nargs (_p1) == 1)
    7283              :     {
    7284            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7285            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7286              :                             {
    7287            2 :                               {
    7288            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7289            2 :                                 tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
    7290            2 :                                 if (res) return res;
    7291              :                               }
    7292              :                             }
    7293              :                         }
    7294              :                       break;
    7295            2 :                     case CFN_BUILT_IN_TANL:
    7296            2 :                       if (call_expr_nargs (_p1) == 1)
    7297              :     {
    7298            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7299            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7300              :                             {
    7301            2 :                               {
    7302            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7303            2 :                                 tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
    7304            2 :                                 if (res) return res;
    7305              :                               }
    7306              :                             }
    7307              :                         }
    7308              :                       break;
    7309              :                     default:;
    7310              :                     }
    7311              :                   break;
    7312              :                 default:;
    7313              :                 }
    7314              :             }
    7315              :           break;
    7316            2 :         case CFN_BUILT_IN_TANF:
    7317            2 :           if (call_expr_nargs (_p0) == 1)
    7318              :     {
    7319            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7320            2 :               switch (TREE_CODE (_p1))
    7321              :                 {
    7322            2 :                 case CALL_EXPR:
    7323            2 :                   switch (get_call_combined_fn (_p1))
    7324              :                     {
    7325            2 :                     case CFN_BUILT_IN_SINF:
    7326            2 :                       if (call_expr_nargs (_p1) == 1)
    7327              :     {
    7328            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7329            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7330              :                             {
    7331            2 :                               {
    7332            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7333            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
    7334            2 :                                 if (res) return res;
    7335              :                               }
    7336              :                             }
    7337              :                         }
    7338              :                       break;
    7339              :                     default:;
    7340              :                     }
    7341              :                   break;
    7342              :                 default:;
    7343              :                 }
    7344              :             }
    7345              :           break;
    7346            1 :         case CFN_BUILT_IN_TANH:
    7347            1 :           if (call_expr_nargs (_p0) == 1)
    7348              :     {
    7349            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7350            1 :               switch (TREE_CODE (_p1))
    7351              :                 {
    7352            1 :                 case CALL_EXPR:
    7353            1 :                   switch (get_call_combined_fn (_p1))
    7354              :                     {
    7355            1 :                     case CFN_BUILT_IN_SINH:
    7356            1 :                       if (call_expr_nargs (_p1) == 1)
    7357              :     {
    7358            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7359            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7360              :                             {
    7361            1 :                               {
    7362            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7363            1 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
    7364            1 :                                 if (res) return res;
    7365              :                               }
    7366              :                             }
    7367              :                         }
    7368              :                       break;
    7369              :                     default:;
    7370              :                     }
    7371              :                   break;
    7372              :                 default:;
    7373              :                 }
    7374              :             }
    7375              :           break;
    7376            2 :         case CFN_BUILT_IN_TANL:
    7377            2 :           if (call_expr_nargs (_p0) == 1)
    7378              :     {
    7379            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7380            2 :               switch (TREE_CODE (_p1))
    7381              :                 {
    7382            2 :                 case CALL_EXPR:
    7383            2 :                   switch (get_call_combined_fn (_p1))
    7384              :                     {
    7385            2 :                     case CFN_BUILT_IN_SINL:
    7386            2 :                       if (call_expr_nargs (_p1) == 1)
    7387              :     {
    7388            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7389            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7390              :                             {
    7391            2 :                               {
    7392            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7393            2 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
    7394            2 :                                 if (res) return res;
    7395              :                               }
    7396              :                             }
    7397              :                         }
    7398              :                       break;
    7399              :                     default:;
    7400              :                     }
    7401              :                   break;
    7402              :                 default:;
    7403              :                 }
    7404              :             }
    7405              :           break;
    7406            0 :         case CFN_COS:
    7407            0 :           if (call_expr_nargs (_p0) == 1)
    7408              :     {
    7409            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7410            0 :               switch (TREE_CODE (_p1))
    7411              :                 {
    7412            0 :                 case CALL_EXPR:
    7413            0 :                   switch (get_call_combined_fn (_p1))
    7414              :                     {
    7415            0 :                     case CFN_SIN:
    7416            0 :                       if (call_expr_nargs (_p1) == 1)
    7417              :     {
    7418            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7419            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7420              :                             {
    7421            0 :                               {
    7422            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7423            0 :                                 tree res = generic_simplify_335 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
    7424            0 :                                 if (res) return res;
    7425              :                               }
    7426              :                             }
    7427              :                         }
    7428              :                       break;
    7429              :                     default:;
    7430              :                     }
    7431              :                   break;
    7432              :                 default:;
    7433              :                 }
    7434              :             }
    7435              :           break;
    7436            0 :         case CFN_POW:
    7437            0 :           if (call_expr_nargs (_p0) == 2)
    7438              :     {
    7439            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7440            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7441            0 :               switch (TREE_CODE (_q21))
    7442              :                 {
    7443            0 :                 case REAL_CST:
    7444            0 :                   {
    7445            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7446              :                       {
    7447            0 :                         {
    7448            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7449            0 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures, CFN_POW);
    7450            0 :                           if (res) return res;
    7451              :                         }
    7452              :                       }
    7453              :                     break;
    7454              :                   }
    7455              :                 default:;
    7456              :                 }
    7457              :             }
    7458              :           break;
    7459            0 :         case CFN_SIN:
    7460            0 :           if (call_expr_nargs (_p0) == 1)
    7461              :     {
    7462            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7463            0 :               switch (TREE_CODE (_p1))
    7464              :                 {
    7465            0 :                 case CALL_EXPR:
    7466            0 :                   switch (get_call_combined_fn (_p1))
    7467              :                     {
    7468            0 :                     case CFN_COS:
    7469            0 :                       if (call_expr_nargs (_p1) == 1)
    7470              :     {
    7471            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7472            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7473              :                             {
    7474            0 :                               {
    7475            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7476            0 :                                 tree res = generic_simplify_331 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
    7477            0 :                                 if (res) return res;
    7478              :                               }
    7479              :                             }
    7480              :                         }
    7481              :                       break;
    7482            0 :                     case CFN_TAN:
    7483            0 :                       if (call_expr_nargs (_p1) == 1)
    7484              :     {
    7485            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7486            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7487              :                             {
    7488            0 :                               {
    7489            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7490            0 :                                 tree res = generic_simplify_332 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
    7491            0 :                                 if (res) return res;
    7492              :                               }
    7493              :                             }
    7494              :                         }
    7495              :                       break;
    7496              :                     default:;
    7497              :                     }
    7498              :                   break;
    7499              :                 default:;
    7500              :                 }
    7501              :             }
    7502              :           break;
    7503            0 :         case CFN_TAN:
    7504            0 :           if (call_expr_nargs (_p0) == 1)
    7505              :     {
    7506            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7507            0 :               switch (TREE_CODE (_p1))
    7508              :                 {
    7509            0 :                 case CALL_EXPR:
    7510            0 :                   switch (get_call_combined_fn (_p1))
    7511              :                     {
    7512            0 :                     case CFN_SIN:
    7513            0 :                       if (call_expr_nargs (_p1) == 1)
    7514              :     {
    7515            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7516            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7517              :                             {
    7518            0 :                               {
    7519            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7520            0 :                                 tree res = generic_simplify_336 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
    7521            0 :                                 if (res) return res;
    7522              :                               }
    7523              :                             }
    7524              :                         }
    7525              :                       break;
    7526              :                     default:;
    7527              :                     }
    7528              :                   break;
    7529              :                 default:;
    7530              :                 }
    7531              :             }
    7532              :           break;
    7533            0 :         case CFN_SINH:
    7534            0 :           if (call_expr_nargs (_p0) == 1)
    7535              :     {
    7536            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7537            0 :               switch (TREE_CODE (_p1))
    7538              :                 {
    7539            0 :                 case CALL_EXPR:
    7540            0 :                   switch (get_call_combined_fn (_p1))
    7541              :                     {
    7542            0 :                     case CFN_COSH:
    7543            0 :                       if (call_expr_nargs (_p1) == 1)
    7544              :     {
    7545            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7546            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7547              :                             {
    7548            0 :                               {
    7549            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7550            0 :                                 tree res = generic_simplify_333 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
    7551            0 :                                 if (res) return res;
    7552              :                               }
    7553              :                             }
    7554              :                         }
    7555              :                       break;
    7556              :                     default:;
    7557              :                     }
    7558              :                   break;
    7559              :                 default:;
    7560              :                 }
    7561              :             }
    7562              :           break;
    7563            0 :         case CFN_TANH:
    7564            0 :           if (call_expr_nargs (_p0) == 1)
    7565              :     {
    7566            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7567            0 :               switch (TREE_CODE (_p1))
    7568              :                 {
    7569            0 :                 case CALL_EXPR:
    7570            0 :                   switch (get_call_combined_fn (_p1))
    7571              :                     {
    7572            0 :                     case CFN_SINH:
    7573            0 :                       if (call_expr_nargs (_p1) == 1)
    7574              :     {
    7575            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7576            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7577              :                             {
    7578            0 :                               {
    7579            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7580            0 :                                 tree res = generic_simplify_334 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
    7581            0 :                                 if (res) return res;
    7582              :                               }
    7583              :                             }
    7584              :                         }
    7585              :                       break;
    7586              :                     default:;
    7587              :                     }
    7588              :                   break;
    7589              :                 default:;
    7590              :                 }
    7591              :             }
    7592              :           break;
    7593              :         default:;
    7594              :         }
    7595              :       break;
    7596      5819173 :     default:;
    7597              :     }
    7598      5819173 :   switch (TREE_CODE (_p1))
    7599              :     {
    7600       780273 :     case CALL_EXPR:
    7601       780273 :       switch (get_call_combined_fn (_p1))
    7602              :         {
    7603           22 :         case CFN_BUILT_IN_POW:
    7604           22 :           if (call_expr_nargs (_p1) == 2)
    7605              :     {
    7606           22 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7607           22 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7608           22 :               {
    7609           22 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7610           22 :                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7611           22 :                 if (res) return res;
    7612              :               }
    7613              :             }
    7614              :           break;
    7615            2 :         case CFN_BUILT_IN_POWF:
    7616            2 :           if (call_expr_nargs (_p1) == 2)
    7617              :     {
    7618            2 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7619            2 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7620            2 :               {
    7621            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7622            2 :                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7623            2 :                 if (res) return res;
    7624              :               }
    7625              :             }
    7626              :           break;
    7627            0 :         case CFN_BUILT_IN_POWL:
    7628            0 :           if (call_expr_nargs (_p1) == 2)
    7629              :     {
    7630            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7631            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7632            0 :               {
    7633            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7634            0 :                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7635            0 :                 if (res) return res;
    7636              :               }
    7637              :             }
    7638              :           break;
    7639            0 :         case CFN_POW:
    7640            0 :           if (call_expr_nargs (_p1) == 2)
    7641              :     {
    7642            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7643            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7644            0 :               {
    7645            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7646            0 :                 tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_POW);
    7647            0 :                 if (res) return res;
    7648              :               }
    7649              :             }
    7650              :           break;
    7651              :         default:;
    7652              :         }
    7653              :       break;
    7654              :     default:;
    7655              :     }
    7656              :   return NULL_TREE;
    7657              : }
    7658              : 
    7659              : tree
    7660      7217757 : generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7661              : {
    7662      7217757 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7663      7217757 :   switch (TREE_CODE (_p0))
    7664              :     {
    7665         2001 :     case RDIV_EXPR:
    7666         2001 :       {
    7667         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7668         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7669         2001 :         switch (TREE_CODE (_q20))
    7670              :           {
    7671           46 :           case REAL_CST:
    7672           46 :             {
    7673           46 :               if (real_zerop (_p1))
    7674              :                 {
    7675            2 :                   {
    7676            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7677            2 :                     tree res = generic_simplify_370 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7678            2 :                     if (res) return res;
    7679              :                   }
    7680              :                 }
    7681              :               break;
    7682              :             }
    7683              :           default:;
    7684              :           }
    7685              :         break;
    7686              :       }
    7687         1210 :     case TRUNC_MOD_EXPR:
    7688         1210 :       {
    7689         1210 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7690         1210 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7691         1210 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7692              :           {
    7693           28 :             {
    7694           28 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7695           28 :               tree res = generic_simplify_371 (loc, type, _p0, _p1, captures, GE_EXPR);
    7696           28 :               if (res) return res;
    7697              :             }
    7698              :           }
    7699              :         break;
    7700              :       }
    7701        31148 :     case MULT_EXPR:
    7702        31148 :       {
    7703        31148 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7704        31148 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7705        31148 :         switch (TREE_CODE (_p1))
    7706              :           {
    7707         6715 :           case MULT_EXPR:
    7708         6715 :             {
    7709         6715 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7710         6715 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7711         6715 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7712              :                 {
    7713         4727 :                   {
    7714         4727 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7715         4727 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GE_EXPR);
    7716         4727 :                     if (res) return res;
    7717              :                   }
    7718              :                 }
    7719         2536 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7720              :                 {
    7721            0 :                   {
    7722            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7723            0 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GE_EXPR);
    7724            0 :                     if (res) return res;
    7725              :                   }
    7726              :                 }
    7727         2536 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7728              :                 {
    7729            0 :                   {
    7730            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7731            0 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GE_EXPR);
    7732            0 :                     if (res) return res;
    7733              :                   }
    7734              :                 }
    7735         2536 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7736              :                 {
    7737            1 :                   {
    7738            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7739            1 :                     tree res = generic_simplify_372 (loc, type, _p0, _p1, captures, GE_EXPR);
    7740            1 :                     if (res) return res;
    7741              :                   }
    7742              :                 }
    7743              :               break;
    7744              :             }
    7745              :           default:;
    7746              :           }
    7747              :         break;
    7748              :       }
    7749      1249599 :     CASE_CONVERT:
    7750      1249599 :       {
    7751      1249599 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7752      1249599 :         switch (TREE_CODE (_q20))
    7753              :           {
    7754          157 :           case EXACT_DIV_EXPR:
    7755          157 :             {
    7756          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7757          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7758          157 :               switch (TREE_CODE (_q31))
    7759              :                 {
    7760          157 :                 case INTEGER_CST:
    7761          157 :                   {
    7762          157 :                     switch (TREE_CODE (_p1))
    7763              :                       {
    7764           43 :                       CASE_CONVERT:
    7765           43 :                         {
    7766           43 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7767           43 :                           switch (TREE_CODE (_q60))
    7768              :                             {
    7769            0 :                             case EXACT_DIV_EXPR:
    7770            0 :                               {
    7771            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7772            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7773            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7774              :                                   {
    7775            0 :                                     {
    7776            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7777            0 :                                       tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, GE_EXPR);
    7778            0 :                                       if (res) return res;
    7779              :                                     }
    7780              :                                   }
    7781              :                                 break;
    7782              :                               }
    7783              :                             default:;
    7784              :                             }
    7785              :                           break;
    7786              :                         }
    7787              :                       default:;
    7788              :                       }
    7789              :                     break;
    7790              :                   }
    7791              :                 default:;
    7792              :                 }
    7793              :               break;
    7794              :             }
    7795              :           default:;
    7796              :           }
    7797              :         break;
    7798              :       }
    7799         8006 :     case EXACT_DIV_EXPR:
    7800         8006 :       {
    7801         8006 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7802         8006 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7803         8006 :         switch (TREE_CODE (_q21))
    7804              :           {
    7805         8006 :           case INTEGER_CST:
    7806         8006 :             {
    7807         8006 :               switch (TREE_CODE (_p1))
    7808              :                 {
    7809            0 :                 case EXACT_DIV_EXPR:
    7810            0 :                   {
    7811            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7812            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7813            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7814              :                       {
    7815            0 :                         {
    7816            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7817            0 :                           tree res = generic_simplify_206 (loc, type, _p0, _p1, captures, GE_EXPR);
    7818            0 :                           if (res) return res;
    7819              :                         }
    7820              :                       }
    7821              :                     break;
    7822              :                   }
    7823              :                 default:;
    7824              :                 }
    7825              :               break;
    7826              :             }
    7827              :           default:;
    7828              :           }
    7829              :         break;
    7830              :       }
    7831        41856 :     case TRUNC_DIV_EXPR:
    7832        41856 :       {
    7833        41856 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7834        41856 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7835        41856 :         switch (TREE_CODE (_q21))
    7836              :           {
    7837        41348 :           case INTEGER_CST:
    7838        41348 :             {
    7839        41348 :               switch (TREE_CODE (_p1))
    7840              :                 {
    7841        40437 :                 case INTEGER_CST:
    7842        40437 :                   {
    7843        40437 :                     {
    7844        40437 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7845        40437 :                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR);
    7846        40437 :                       if (res) return res;
    7847              :                     }
    7848            0 :                     break;
    7849              :                   }
    7850              :                 default:;
    7851              :                 }
    7852              :               break;
    7853              :             }
    7854              :           default:;
    7855              :           }
    7856              :         break;
    7857              :       }
    7858       806066 :     case PLUS_EXPR:
    7859       806066 :       {
    7860       806066 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7861       806066 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7862       806066 :         switch (TREE_CODE (_p1))
    7863              :           {
    7864        52295 :           case PLUS_EXPR:
    7865        52295 :             {
    7866        52295 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7867        52295 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7868        52295 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7869              :                 {
    7870         1426 :                   {
    7871         1426 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7872         1426 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GE_EXPR);
    7873         1426 :                     if (res) return res;
    7874              :                   }
    7875              :                 }
    7876        52295 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7877              :                 {
    7878           17 :                   {
    7879           17 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7880           17 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GE_EXPR);
    7881           17 :                     if (res) return res;
    7882              :                   }
    7883              :                 }
    7884        52295 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7885              :                 {
    7886           16 :                   {
    7887           16 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7888           16 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GE_EXPR);
    7889           16 :                     if (res) return res;
    7890              :                   }
    7891              :                 }
    7892        52295 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7893              :                 {
    7894          961 :                   {
    7895          961 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7896          961 :                     tree res = generic_simplify_373 (loc, type, _p0, _p1, captures, GE_EXPR);
    7897          961 :                     if (res) return res;
    7898              :                   }
    7899              :                 }
    7900              :               break;
    7901              :             }
    7902       806018 :           default:;
    7903              :           }
    7904       806018 :         switch (TREE_CODE (_q21))
    7905              :           {
    7906       693324 :           case INTEGER_CST:
    7907       693324 :             {
    7908       693324 :               switch (TREE_CODE (_p1))
    7909              :                 {
    7910        15173 :                 case PLUS_EXPR:
    7911        15173 :                   {
    7912        15173 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7913        15173 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7914        15173 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7915              :                       {
    7916         1422 :                         {
    7917         1422 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7918         1422 :                           tree res = generic_simplify_374 (loc, type, _p0, _p1, captures, GE_EXPR);
    7919         1422 :                           if (res) return res;
    7920              :                         }
    7921              :                       }
    7922              :                     break;
    7923              :                   }
    7924              :                 default:;
    7925              :                 }
    7926              :               break;
    7927              :             }
    7928       806018 :           default:;
    7929              :           }
    7930       806018 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7931              :           {
    7932        54159 :             {
    7933        54159 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7934        54159 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GE_EXPR);
    7935        54159 :               if (res) return res;
    7936              :             }
    7937              :           }
    7938       772850 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7939              :           {
    7940        24588 :             {
    7941        24588 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7942        24588 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GE_EXPR);
    7943        24588 :               if (res) return res;
    7944              :             }
    7945              :           }
    7946              :         break;
    7947              :       }
    7948       118553 :     case MINUS_EXPR:
    7949       118553 :       {
    7950       118553 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7951       118553 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7952       118553 :         switch (TREE_CODE (_p1))
    7953              :           {
    7954         1711 :           case MINUS_EXPR:
    7955         1711 :             {
    7956         1711 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7957         1711 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7958         1711 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7959              :                 {
    7960           14 :                   {
    7961           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7962           14 :                     tree res = generic_simplify_376 (loc, type, _p0, _p1, captures, GE_EXPR);
    7963           14 :                     if (res) return res;
    7964              :                   }
    7965              :                 }
    7966         1711 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7967              :                 {
    7968           22 :                   {
    7969           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7970           22 :                     tree res = generic_simplify_377 (loc, type, _p0, _p1, captures, GE_EXPR);
    7971           22 :                     if (res) return res;
    7972              :                   }
    7973              :                 }
    7974              :               break;
    7975              :             }
    7976              :           default:;
    7977              :           }
    7978              :         break;
    7979              :       }
    7980         2336 :     case POINTER_DIFF_EXPR:
    7981         2336 :       {
    7982         2336 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7983         2336 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7984         2336 :         switch (TREE_CODE (_p1))
    7985              :           {
    7986           32 :           case POINTER_DIFF_EXPR:
    7987           32 :             {
    7988           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7989           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7990           32 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7991              :                 {
    7992            0 :                   {
    7993            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7994            0 :                     tree res = generic_simplify_218 (loc, type, _p0, _p1, captures, GE_EXPR);
    7995            0 :                     if (res) return res;
    7996              :                   }
    7997              :                 }
    7998           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7999              :                 {
    8000            0 :                   {
    8001            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    8002            0 :                     tree res = generic_simplify_219 (loc, type, _p0, _p1, captures, GE_EXPR);
    8003            0 :                     if (res) return res;
    8004              :                   }
    8005              :                 }
    8006              :               break;
    8007              :             }
    8008              :           default:;
    8009              :           }
    8010              :         break;
    8011              :       }
    8012      7136341 :     default:;
    8013              :     }
    8014      7136341 :   switch (TREE_CODE (_p1))
    8015              :     {
    8016        59064 :     case PLUS_EXPR:
    8017        59064 :       {
    8018        59064 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8019        59064 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8020        59064 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8021              :           {
    8022            0 :             {
    8023            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    8024            0 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LE_EXPR);
    8025            0 :               if (res) return res;
    8026              :             }
    8027              :           }
    8028        59064 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8029              :           {
    8030            0 :             {
    8031            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8032            0 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, LE_EXPR);
    8033            0 :               if (res) return res;
    8034              :             }
    8035              :           }
    8036              :         break;
    8037              :       }
    8038         2736 :     case MINUS_EXPR:
    8039         2736 :       {
    8040         2736 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8041         2736 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8042         2736 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8043              :           {
    8044            0 :             {
    8045            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    8046            0 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, GE_EXPR);
    8047            0 :               if (res) return res;
    8048              :             }
    8049              :           }
    8050              :         break;
    8051              :       }
    8052      7136341 :     default:;
    8053              :     }
    8054      7136341 :   switch (TREE_CODE (_p0))
    8055              :     {
    8056       118553 :     case MINUS_EXPR:
    8057       118553 :       {
    8058       118553 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8059       118553 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8060       118553 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8061              :           {
    8062         2741 :             {
    8063         2741 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    8064         2741 :               tree res = generic_simplify_217 (loc, type, _p0, _p1, captures, LE_EXPR);
    8065         2741 :               if (res) return res;
    8066              :             }
    8067              :           }
    8068              :         break;
    8069              :       }
    8070         1061 :     case BIT_IOR_EXPR:
    8071         1061 :       {
    8072         1061 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8073         1061 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8074         1061 :         if (tree_expr_nonnegative_p (_q20))
    8075              :           {
    8076          222 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8077              :               {
    8078            0 :                 {
    8079            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8080            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8081            0 :                   if (res) return res;
    8082              :                 }
    8083              :               }
    8084              :           }
    8085         1061 :         if (tree_expr_nonnegative_p (_q21))
    8086              :           {
    8087          296 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8088              :               {
    8089            0 :                 {
    8090            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8091            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8092            0 :                   if (res) return res;
    8093              :                 }
    8094              :               }
    8095              :           }
    8096              :         break;
    8097              :       }
    8098      7136340 :     default:;
    8099              :     }
    8100      7136340 :   switch (TREE_CODE (_p1))
    8101              :     {
    8102          196 :     case BIT_AND_EXPR:
    8103          196 :       {
    8104          196 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8105          196 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8106          196 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8107              :           {
    8108            0 :             if (tree_expr_nonnegative_p (_q30))
    8109              :               {
    8110            0 :                 {
    8111            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8112            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8113            0 :                   if (res) return res;
    8114              :                 }
    8115              :               }
    8116              :           }
    8117          196 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8118              :           {
    8119            0 :             if (tree_expr_nonnegative_p (_q31))
    8120              :               {
    8121            0 :                 {
    8122            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8123            0 :                   tree res = generic_simplify_378 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8124            0 :                   if (res) return res;
    8125              :                 }
    8126              :               }
    8127              :           }
    8128              :         break;
    8129              :       }
    8130      7136340 :     default:;
    8131              :     }
    8132      7136340 :   switch (TREE_CODE (_p0))
    8133              :     {
    8134         2975 :     case MIN_EXPR:
    8135         2975 :       {
    8136         2975 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8137         2975 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8138         2975 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8139              :           {
    8140            0 :             {
    8141            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8142            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8143            0 :               if (res) return res;
    8144              :             }
    8145              :           }
    8146         2975 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8147              :           {
    8148            1 :             {
    8149            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8150            1 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8151            1 :               if (res) return res;
    8152              :             }
    8153              :           }
    8154         2974 :         switch (TREE_CODE (_q21))
    8155              :           {
    8156         1004 :           case INTEGER_CST:
    8157         1004 :             {
    8158         1004 :               switch (TREE_CODE (_p1))
    8159              :                 {
    8160            0 :                 case INTEGER_CST:
    8161            0 :                   {
    8162            0 :                     {
    8163            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8164            0 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
    8165            0 :                       if (res) return res;
    8166              :                     }
    8167            0 :                     break;
    8168              :                   }
    8169              :                 default:;
    8170              :                 }
    8171              :               break;
    8172              :             }
    8173              :           default:;
    8174              :           }
    8175              :         break;
    8176              :       }
    8177      7136339 :     default:;
    8178              :     }
    8179      7136339 :   switch (TREE_CODE (_p1))
    8180              :     {
    8181          198 :     case MAX_EXPR:
    8182          198 :       {
    8183          198 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8184          198 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8185          198 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8186              :           {
    8187            0 :             {
    8188            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8189            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8190            0 :               if (res) return res;
    8191              :             }
    8192              :           }
    8193          198 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8194              :           {
    8195            0 :             {
    8196            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8197            0 :               tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8198            0 :               if (res) return res;
    8199              :             }
    8200              :           }
    8201              :         break;
    8202              :       }
    8203         1986 :     case MIN_EXPR:
    8204         1986 :       {
    8205         1986 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8206         1986 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8207         1986 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8208              :           {
    8209            0 :             {
    8210            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8211            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8212            0 :               if (res) return res;
    8213              :             }
    8214              :           }
    8215         1986 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8216              :           {
    8217            0 :             {
    8218            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8219            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8220            0 :               if (res) return res;
    8221              :             }
    8222              :           }
    8223              :         break;
    8224              :       }
    8225      7136339 :     default:;
    8226              :     }
    8227      7136339 :   switch (TREE_CODE (_p0))
    8228              :     {
    8229          814 :     case MAX_EXPR:
    8230          814 :       {
    8231          814 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8232          814 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8233          814 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8234              :           {
    8235            0 :             {
    8236            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8237            0 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8238            0 :               if (res) return res;
    8239              :             }
    8240              :           }
    8241          814 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8242              :           {
    8243            2 :             {
    8244            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8245            2 :               tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8246            2 :               if (res) return res;
    8247              :             }
    8248              :           }
    8249          812 :         switch (TREE_CODE (_q21))
    8250              :           {
    8251          735 :           case INTEGER_CST:
    8252          735 :             {
    8253          735 :               switch (TREE_CODE (_p1))
    8254              :                 {
    8255            0 :                 case INTEGER_CST:
    8256            0 :                   {
    8257            0 :                     {
    8258            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8259            0 :                       tree res = generic_simplify_379 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
    8260            0 :                       if (res) return res;
    8261              :                     }
    8262            0 :                     break;
    8263              :                   }
    8264              :                 default:;
    8265              :                 }
    8266              :               break;
    8267              :             }
    8268              :           default:;
    8269              :           }
    8270              :         break;
    8271              :       }
    8272            6 :     case VEC_COND_EXPR:
    8273            6 :       {
    8274            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8275            6 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8276            6 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8277            6 :         switch (TREE_CODE (_p1))
    8278              :           {
    8279            0 :           case VEC_COND_EXPR:
    8280            0 :             {
    8281            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8282            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8283            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8284            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8285              :                 {
    8286            0 :                   {
    8287            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8288            0 :                     if (VECTOR_TYPE_P (type)
    8289            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8290            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8291            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8292              :  || (optimize_vectors_before_lowering_p ()
    8293            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8294              : )
    8295              :                       {
    8296            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1623;
    8297            0 :                         {
    8298            0 :                           tree res_op0;
    8299            0 :                           res_op0 = captures[1];
    8300            0 :                           tree res_op1;
    8301            0 :                           {
    8302            0 :                             tree _o1[2], _r1;
    8303            0 :                             _o1[0] = captures[2];
    8304            0 :                             _o1[1] = captures[5];
    8305            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8306            0 :                             if (EXPR_P (_r1))
    8307            0 :                               goto next_after_fail1623;
    8308            0 :                             res_op1 = _r1;
    8309              :                           }
    8310            0 :                           tree res_op2;
    8311            0 :                           {
    8312            0 :                             tree _o1[2], _r1;
    8313            0 :                             _o1[0] = captures[3];
    8314            0 :                             _o1[1] = captures[6];
    8315            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8316            0 :                             if (EXPR_P (_r1))
    8317            0 :                               goto next_after_fail1623;
    8318            0 :                             res_op2 = _r1;
    8319              :                           }
    8320            0 :                           tree _r;
    8321            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8322            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
    8323            0 :                           return _r;
    8324              :                         }
    8325            0 : next_after_fail1623:;
    8326              :                       }
    8327              :                   }
    8328              :                 }
    8329              :               break;
    8330              :             }
    8331            6 :           default:;
    8332              :           }
    8333            6 :         {
    8334            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8335            6 :           if (VECTOR_TYPE_P (type)
    8336            6 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8337            6 :  || types_match (type, TREE_TYPE (captures[2]))
    8338            6 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8339              :  || (optimize_vectors_before_lowering_p ()
    8340            2 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8341              : )
    8342              :             {
    8343            6 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1624;
    8344            6 :               {
    8345            6 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1624;
    8346            5 :                 tree res_op0;
    8347            5 :                 res_op0 = captures[1];
    8348            5 :                 tree res_op1;
    8349            5 :                 {
    8350            5 :                   tree _o1[2], _r1;
    8351            5 :                   _o1[0] = captures[2];
    8352            5 :                   _o1[1] = unshare_expr (captures[4]);
    8353            5 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8354            5 :                   if (EXPR_P (_r1))
    8355            1 :                     goto next_after_fail1624;
    8356            4 :                   res_op1 = _r1;
    8357              :                 }
    8358            4 :                 tree res_op2;
    8359            4 :                 {
    8360            4 :                   tree _o1[2], _r1;
    8361            4 :                   _o1[0] = captures[3];
    8362            4 :                   _o1[1] = captures[4];
    8363            4 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8364            4 :                   if (EXPR_P (_r1))
    8365            0 :                     goto next_after_fail1624;
    8366            4 :                   res_op2 = _r1;
    8367              :                 }
    8368            4 :                 tree _r;
    8369            4 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8370            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
    8371            4 :                 return _r;
    8372              :               }
    8373            2 : next_after_fail1624:;
    8374              :             }
    8375              :         }
    8376            2 :         break;
    8377              :       }
    8378      7136333 :     default:;
    8379              :     }
    8380      7136333 :   switch (TREE_CODE (_p1))
    8381              :     {
    8382            0 :     case VEC_COND_EXPR:
    8383            0 :       {
    8384            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8385            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8386            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8387            0 :         {
    8388            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8389            0 :           if (VECTOR_TYPE_P (type)
    8390            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8391            0 :  || types_match (type, TREE_TYPE (captures[3]))
    8392            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8393              :  || (optimize_vectors_before_lowering_p ()
    8394            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8395              : )
    8396              :             {
    8397            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1625;
    8398            0 :               {
    8399            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1625;
    8400            0 :                 tree res_op0;
    8401            0 :                 res_op0 = captures[2];
    8402            0 :                 tree res_op1;
    8403            0 :                 {
    8404            0 :                   tree _o1[2], _r1;
    8405            0 :                   _o1[0] = unshare_expr (captures[0]);
    8406            0 :                   _o1[1] = captures[3];
    8407            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8408            0 :                   if (EXPR_P (_r1))
    8409            0 :                     goto next_after_fail1625;
    8410            0 :                   res_op1 = _r1;
    8411              :                 }
    8412            0 :                 tree res_op2;
    8413            0 :                 {
    8414            0 :                   tree _o1[2], _r1;
    8415            0 :                   _o1[0] = captures[0];
    8416            0 :                   _o1[1] = captures[4];
    8417            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8418            0 :                   if (EXPR_P (_r1))
    8419            0 :                     goto next_after_fail1625;
    8420            0 :                   res_op2 = _r1;
    8421              :                 }
    8422            0 :                 tree _r;
    8423            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8424            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
    8425            0 :                 return _r;
    8426              :               }
    8427            0 : next_after_fail1625:;
    8428              :             }
    8429              :         }
    8430            0 :         break;
    8431              :       }
    8432      7136333 :     default:;
    8433              :     }
    8434      7136333 : if (uniform_integer_cst_p (_p1))
    8435              :   {
    8436      3594872 :     {
    8437      3594872 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8438      3594872 :       tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8439      3594872 :       if (res) return res;
    8440              :     }
    8441              :   }
    8442      5652216 :   switch (TREE_CODE (_p0))
    8443              :     {
    8444        23369 :     case MULT_EXPR:
    8445        23369 :       {
    8446        23369 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8447        23369 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8448        23369 :         switch (TREE_CODE (_q21))
    8449              :           {
    8450        19442 :           case INTEGER_CST:
    8451        19442 :             {
    8452        19442 :               if (integer_zerop (_p1))
    8453              :                 {
    8454         2742 :                   {
    8455         2742 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8456         2742 :                     tree res = generic_simplify_247 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8457         2742 :                     if (res) return res;
    8458              :                   }
    8459              :                 }
    8460              :               break;
    8461              :             }
    8462              :           default:;
    8463              :           }
    8464              :         break;
    8465              :       }
    8466      5651928 :     default:;
    8467              :     }
    8468      5651928 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8469              :     {
    8470        37979 :       {
    8471        37979 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8472        37979 :         tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GE_EXPR);
    8473        37979 :         if (res) return res;
    8474              :       }
    8475              :     }
    8476      5613986 :   switch (TREE_CODE (_p0))
    8477              :     {
    8478          418 :     case BIT_NOT_EXPR:
    8479          418 :       {
    8480          418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8481          418 :         switch (TREE_CODE (_p1))
    8482              :           {
    8483            1 :           case BIT_NOT_EXPR:
    8484            1 :             {
    8485            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8486            1 :               {
    8487            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8488            1 :                 tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GE_EXPR);
    8489            1 :                 if (res) return res;
    8490              :               }
    8491            0 :               break;
    8492              :             }
    8493          417 :           default:;
    8494              :           }
    8495          417 :       {
    8496          417 :         tree _p1_pops[1];
    8497          417 :         if (tree_nop_convert (_p1, _p1_pops))
    8498              :           {
    8499           50 :             tree _q40 = _p1_pops[0];
    8500           50 :             switch (TREE_CODE (_q40))
    8501              :               {
    8502            0 :               case BIT_NOT_EXPR:
    8503            0 :                 {
    8504            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8505            0 :                   {
    8506            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8507            0 :                     tree res = generic_simplify_253 (loc, type, _p0, _p1, captures, GE_EXPR);
    8508            0 :                     if (res) return res;
    8509              :                   }
    8510            0 :                   break;
    8511              :                 }
    8512              :               default:;
    8513              :               }
    8514              :           }
    8515              :       }
    8516          417 :       if (CONSTANT_CLASS_P (_p1))
    8517              :         {
    8518           94 :           {
    8519           94 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8520           94 :             tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8521           94 :             if (res) return res;
    8522              :           }
    8523              :         }
    8524              :         break;
    8525              :       }
    8526      5613891 :     default:;
    8527              :     }
    8528      5613891 : {
    8529      5613891 :   tree _p0_pops[1];
    8530      5613891 :   if (tree_nop_convert (_p0, _p0_pops))
    8531              :     {
    8532       440892 :       tree _q20 = _p0_pops[0];
    8533       440892 :       switch (TREE_CODE (_q20))
    8534              :         {
    8535            4 :         case BIT_NOT_EXPR:
    8536            4 :           {
    8537            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8538            4 :             switch (TREE_CODE (_p1))
    8539              :               {
    8540            0 :               case BIT_NOT_EXPR:
    8541            0 :                 {
    8542            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8543            0 :                   {
    8544            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8545            0 :                     tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, GE_EXPR);
    8546            0 :                     if (res) return res;
    8547              :                   }
    8548            0 :                   break;
    8549              :                 }
    8550            4 :               default:;
    8551              :               }
    8552            4 :           {
    8553            4 :             tree _p1_pops[1];
    8554            4 :             if (tree_nop_convert (_p1, _p1_pops))
    8555              :               {
    8556            0 :                 tree _q50 = _p1_pops[0];
    8557            0 :                 switch (TREE_CODE (_q50))
    8558              :                   {
    8559            0 :                   case BIT_NOT_EXPR:
    8560            0 :                     {
    8561            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8562            0 :                       {
    8563            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8564            0 :                         tree res = generic_simplify_251 (loc, type, _p0, _p1, captures, GE_EXPR);
    8565            0 :                         if (res) return res;
    8566              :                       }
    8567            0 :                       break;
    8568              :                     }
    8569              :                   default:;
    8570              :                   }
    8571              :               }
    8572              :           }
    8573            4 :           if (CONSTANT_CLASS_P (_p1))
    8574              :             {
    8575            0 :               {
    8576            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8577            0 :                 tree res = generic_simplify_252 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8578            0 :                 if (res) return res;
    8579              :               }
    8580              :             }
    8581              :             break;
    8582              :           }
    8583              :         default:;
    8584              :         }
    8585              :     }
    8586              : }
    8587      5613891 :   switch (TREE_CODE (_p1))
    8588              :     {
    8589       620692 :     case REAL_CST:
    8590       620692 :       {
    8591       620692 :         {
    8592       620692 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8593       620692 :           tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GE_EXPR);
    8594       620692 :           if (res) return res;
    8595              :         }
    8596       620610 :         break;
    8597              :       }
    8598      5613809 :     default:;
    8599              :     }
    8600      5613809 :   switch (TREE_CODE (_p0))
    8601              :     {
    8602       689163 :     case PLUS_EXPR:
    8603       689163 :       {
    8604       689163 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8605       689163 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8606       689163 :         switch (TREE_CODE (_q21))
    8607              :           {
    8608          168 :           case REAL_CST:
    8609          168 :             {
    8610          168 :               switch (TREE_CODE (_p1))
    8611              :                 {
    8612           20 :                 case REAL_CST:
    8613           20 :                   {
    8614           20 :                     {
    8615           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8616           20 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
    8617           20 :                       if (res) return res;
    8618              :                     }
    8619           20 :                     break;
    8620              :                   }
    8621              :                 default:;
    8622              :                 }
    8623              :               break;
    8624              :             }
    8625       576574 :           case INTEGER_CST:
    8626       576574 :             {
    8627       576574 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8628              :                 {
    8629        16003 :                   {
    8630        16003 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8631        16003 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8632        16003 :                     if (res) return res;
    8633              :                   }
    8634              :                 }
    8635              :               break;
    8636              :             }
    8637              :           default:;
    8638              :           }
    8639              :         break;
    8640              :       }
    8641        58931 :     case MINUS_EXPR:
    8642        58931 :       {
    8643        58931 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8644        58931 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8645        58931 :         switch (TREE_CODE (_q21))
    8646              :           {
    8647           31 :           case REAL_CST:
    8648           31 :             {
    8649           31 :               switch (TREE_CODE (_p1))
    8650              :                 {
    8651           31 :                 case REAL_CST:
    8652           31 :                   {
    8653           31 :                     {
    8654           31 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8655           31 :                       tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
    8656           31 :                       if (res) return res;
    8657              :                     }
    8658           31 :                     break;
    8659              :                   }
    8660              :                 default:;
    8661              :                 }
    8662              :               break;
    8663              :             }
    8664        58931 :           default:;
    8665              :           }
    8666        58931 :         switch (TREE_CODE (_q20))
    8667              :           {
    8668           24 :           case REAL_CST:
    8669           24 :             {
    8670           24 :               switch (TREE_CODE (_p1))
    8671              :                 {
    8672            0 :                 case REAL_CST:
    8673            0 :                   {
    8674            0 :                     {
    8675            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8676            0 :                       tree res = generic_simplify_256 (loc, type, _p0, _p1, captures, GE_EXPR);
    8677            0 :                       if (res) return res;
    8678              :                     }
    8679            0 :                     break;
    8680              :                   }
    8681              :                 default:;
    8682              :                 }
    8683              :               break;
    8684              :             }
    8685              :           default:;
    8686              :           }
    8687              :         break;
    8688              :       }
    8689        38910 :     case FLOAT_EXPR:
    8690        38910 :       {
    8691        38910 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8692        38910 :         switch (TREE_CODE (_p1))
    8693              :           {
    8694            7 :           case FLOAT_EXPR:
    8695            7 :             {
    8696            7 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8697            7 :               {
    8698            7 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8699            7 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8700            7 :                 if (res) return res;
    8701              :               }
    8702            0 :               break;
    8703              :             }
    8704        37431 :           case REAL_CST:
    8705        37431 :             {
    8706        37431 :               {
    8707        37431 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8708        37431 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8709        37431 :                 if (res) return res;
    8710              :               }
    8711        18752 :               break;
    8712              :             }
    8713              :           default:;
    8714              :           }
    8715              :         break;
    8716              :       }
    8717         7967 :     case EXACT_DIV_EXPR:
    8718         7967 :       {
    8719         7967 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8720         7967 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8721         7967 :         switch (TREE_CODE (_q21))
    8722              :           {
    8723         7967 :           case INTEGER_CST:
    8724         7967 :             {
    8725         7967 :               switch (TREE_CODE (_p1))
    8726              :                 {
    8727            0 :                 case INTEGER_CST:
    8728            0 :                   {
    8729            0 :                     {
    8730            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8731            0 :                       tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    8732            0 :                       if (res) return res;
    8733              :                     }
    8734            0 :                     break;
    8735              :                   }
    8736              :                 default:;
    8737              :                 }
    8738              :               break;
    8739              :             }
    8740              :           default:;
    8741              :           }
    8742              :         break;
    8743              :       }
    8744       828412 :     CASE_CONVERT:
    8745       828412 :       {
    8746       828412 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8747       828412 :         switch (TREE_CODE (_q20))
    8748              :           {
    8749          157 :           case EXACT_DIV_EXPR:
    8750          157 :             {
    8751          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8752          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8753          157 :               switch (TREE_CODE (_q31))
    8754              :                 {
    8755          157 :                 case INTEGER_CST:
    8756          157 :                   {
    8757          157 :                     switch (TREE_CODE (_p1))
    8758              :                       {
    8759            0 :                       case INTEGER_CST:
    8760            0 :                         {
    8761            0 :                           {
    8762            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8763            0 :                             tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    8764            0 :                             if (res) return res;
    8765              :                           }
    8766            0 :                           break;
    8767              :                         }
    8768              :                       default:;
    8769              :                       }
    8770              :                     break;
    8771              :                   }
    8772              :                 default:;
    8773              :                 }
    8774              :               break;
    8775              :             }
    8776       828412 :           default:;
    8777              :           }
    8778       828412 :         switch (TREE_CODE (_p1))
    8779              :           {
    8780       127464 :           CASE_CONVERT:
    8781       127464 :             {
    8782       127464 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8783       127464 :               {
    8784       127464 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8785       127464 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR);
    8786       127464 :                 if (res) return res;
    8787              :               }
    8788        58305 :               break;
    8789              :             }
    8790       759253 :           default:;
    8791              :           }
    8792       759253 :         {
    8793       759253 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8794       759253 :           tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GE_EXPR);
    8795       759253 :           if (res) return res;
    8796              :         }
    8797       465928 :         switch (TREE_CODE (_q20))
    8798              :           {
    8799         1442 :           case ADDR_EXPR:
    8800         1442 :             {
    8801         1442 :               switch (TREE_CODE (_p1))
    8802              :                 {
    8803         1378 :                 CASE_CONVERT:
    8804         1378 :                   {
    8805         1378 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    8806         1378 :                     switch (TREE_CODE (_q40))
    8807              :                       {
    8808         1378 :                       case ADDR_EXPR:
    8809         1378 :                         {
    8810         1378 :                           {
    8811         1378 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    8812         1378 :                             tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GE_EXPR);
    8813         1378 :                             if (res) return res;
    8814              :                           }
    8815          178 :                           break;
    8816              :                         }
    8817              :                       default:;
    8818              :                       }
    8819              :                     break;
    8820              :                   }
    8821            0 :                 case ADDR_EXPR:
    8822            0 :                   {
    8823            0 :                     {
    8824            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8825            0 :                       tree res = generic_simplify_283 (loc, type, _p0, _p1, captures, GE_EXPR);
    8826            0 :                       if (res) return res;
    8827              :                     }
    8828            0 :                     break;
    8829              :                   }
    8830              :                 default:;
    8831              :                 }
    8832              :               break;
    8833              :             }
    8834       464728 :           default:;
    8835              :           }
    8836       464728 :         if (uniform_integer_cst_p (_p1))
    8837              :           {
    8838       187637 :             {
    8839       187637 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8840       187637 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR);
    8841       187637 :               if (res) return res;
    8842              :             }
    8843              :           }
    8844              :         break;
    8845              :       }
    8846          785 :     case NEGATE_EXPR:
    8847          785 :       {
    8848          785 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8849          785 :         switch (TREE_CODE (_p1))
    8850              :           {
    8851            0 :           case NEGATE_EXPR:
    8852            0 :             {
    8853            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8854            0 :               {
    8855            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8856            0 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8857            0 :                 if (res) return res;
    8858              :               }
    8859            0 :               break;
    8860              :             }
    8861          785 :           default:;
    8862              :           }
    8863          785 :       if (CONSTANT_CLASS_P (_p1))
    8864              :         {
    8865          270 :           {
    8866          270 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8867          270 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8868          270 :             if (res) return res;
    8869              :           }
    8870              :         }
    8871              :         break;
    8872              :       }
    8873         7613 :     case ADDR_EXPR:
    8874         7613 :       {
    8875         7613 :         switch (TREE_CODE (_p1))
    8876              :           {
    8877            0 :           CASE_CONVERT:
    8878            0 :             {
    8879            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    8880            0 :               switch (TREE_CODE (_q30))
    8881              :                 {
    8882            0 :                 case ADDR_EXPR:
    8883            0 :                   {
    8884            0 :                     {
    8885            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    8886            0 :                       tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GE_EXPR);
    8887            0 :                       if (res) return res;
    8888              :                     }
    8889            0 :                     break;
    8890              :                   }
    8891              :                 default:;
    8892              :                 }
    8893              :               break;
    8894              :             }
    8895         7245 :           case ADDR_EXPR:
    8896         7245 :             {
    8897         7245 :               {
    8898         7245 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    8899         7245 :                 tree res = generic_simplify_284 (loc, type, _p0, _p1, captures, GE_EXPR);
    8900         7245 :                 if (res) return res;
    8901              :               }
    8902           92 :               break;
    8903              :             }
    8904              :           default:;
    8905              :           }
    8906              :         break;
    8907              :       }
    8908       313597 :     case CALL_EXPR:
    8909       313597 :       switch (get_call_combined_fn (_p0))
    8910              :         {
    8911            2 :         case CFN_BUILT_IN_SQRTF:
    8912            2 :           if (call_expr_nargs (_p0) == 1)
    8913              :     {
    8914            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8915            2 :               switch (TREE_CODE (_p1))
    8916              :                 {
    8917            2 :                 case REAL_CST:
    8918            2 :                   {
    8919            2 :                     {
    8920            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8921            2 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    8922            2 :                       if (res) return res;
    8923              :                     }
    8924            0 :                     break;
    8925              :                   }
    8926            0 :                 case CALL_EXPR:
    8927            0 :                   switch (get_call_combined_fn (_p1))
    8928              :                     {
    8929            0 :                     case CFN_BUILT_IN_SQRTF:
    8930            0 :                       if (call_expr_nargs (_p1) == 1)
    8931              :     {
    8932            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8933            0 :                           {
    8934            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8935            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    8936            0 :                             if (res) return res;
    8937              :                           }
    8938              :                         }
    8939              :                       break;
    8940              :                     default:;
    8941              :                     }
    8942              :                   break;
    8943              :                 default:;
    8944              :                 }
    8945              :             }
    8946              :           break;
    8947            0 :         case CFN_BUILT_IN_SQRTL:
    8948            0 :           if (call_expr_nargs (_p0) == 1)
    8949              :     {
    8950            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8951            0 :               switch (TREE_CODE (_p1))
    8952              :                 {
    8953            0 :                 case REAL_CST:
    8954            0 :                   {
    8955            0 :                     {
    8956            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8957            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    8958            0 :                       if (res) return res;
    8959              :                     }
    8960            0 :                     break;
    8961              :                   }
    8962            0 :                 case CALL_EXPR:
    8963            0 :                   switch (get_call_combined_fn (_p1))
    8964              :                     {
    8965            0 :                     case CFN_BUILT_IN_SQRTL:
    8966            0 :                       if (call_expr_nargs (_p1) == 1)
    8967              :     {
    8968            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    8969            0 :                           {
    8970            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    8971            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    8972            0 :                             if (res) return res;
    8973              :                           }
    8974              :                         }
    8975              :                       break;
    8976              :                     default:;
    8977              :                     }
    8978              :                   break;
    8979              :                 default:;
    8980              :                 }
    8981              :             }
    8982              :           break;
    8983            1 :         case CFN_BUILT_IN_SQRT:
    8984            1 :           if (call_expr_nargs (_p0) == 1)
    8985              :     {
    8986            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    8987            1 :               switch (TREE_CODE (_p1))
    8988              :                 {
    8989            1 :                 case REAL_CST:
    8990            1 :                   {
    8991            1 :                     {
    8992            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8993            1 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    8994            1 :                       if (res) return res;
    8995              :                     }
    8996            1 :                     break;
    8997              :                   }
    8998            0 :                 case CALL_EXPR:
    8999            0 :                   switch (get_call_combined_fn (_p1))
    9000              :                     {
    9001            0 :                     case CFN_BUILT_IN_SQRT:
    9002            0 :                       if (call_expr_nargs (_p1) == 1)
    9003              :     {
    9004            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9005            0 :                           {
    9006            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9007            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9008            0 :                             if (res) return res;
    9009              :                           }
    9010              :                         }
    9011              :                       break;
    9012              :                     default:;
    9013              :                     }
    9014              :                   break;
    9015              :                 default:;
    9016              :                 }
    9017              :             }
    9018              :           break;
    9019            0 :         case CFN_SQRT:
    9020            0 :           if (call_expr_nargs (_p0) == 1)
    9021              :     {
    9022            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9023            0 :               switch (TREE_CODE (_p1))
    9024              :                 {
    9025            0 :                 case REAL_CST:
    9026            0 :                   {
    9027            0 :                     {
    9028            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9029            0 :                       tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9030            0 :                       if (res) return res;
    9031              :                     }
    9032            0 :                     break;
    9033              :                   }
    9034            0 :                 case CALL_EXPR:
    9035            0 :                   switch (get_call_combined_fn (_p1))
    9036              :                     {
    9037            0 :                     case CFN_SQRT:
    9038            0 :                       if (call_expr_nargs (_p1) == 1)
    9039              :     {
    9040            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9041            0 :                           {
    9042            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9043            0 :                             tree res = generic_simplify_258 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9044            0 :                             if (res) return res;
    9045              :                           }
    9046              :                         }
    9047              :                       break;
    9048              :                     default:;
    9049              :                     }
    9050              :                   break;
    9051              :                 default:;
    9052              :                 }
    9053              :             }
    9054              :           break;
    9055              :         default:;
    9056              :         }
    9057              :       break;
    9058      5197703 :     default:;
    9059              :     }
    9060      5197703 :   if (uniform_integer_cst_p (_p1))
    9061              :     {
    9062      1806668 :       {
    9063      1806668 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9064      1806668 :         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GE_EXPR);
    9065      1806668 :         if (res) return res;
    9066              :       }
    9067              :     }
    9068      4866033 :   switch (TREE_CODE (_p0))
    9069              :     {
    9070       453579 :     CASE_CONVERT:
    9071       453579 :       {
    9072       453579 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9073       453579 :         switch (TREE_CODE (_q20))
    9074              :           {
    9075        31993 :           case PLUS_EXPR:
    9076        31993 :             {
    9077        31993 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9078        31993 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9079        31993 :               switch (TREE_CODE (_q30))
    9080              :                 {
    9081        23177 :                 CASE_CONVERT:
    9082        23177 :                   {
    9083        23177 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9084        23177 :                     switch (TREE_CODE (_q31))
    9085              :                       {
    9086        23176 :                       case INTEGER_CST:
    9087        23176 :                         {
    9088        23176 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9089              :                             {
    9090          129 :                               {
    9091          129 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9092          129 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9093          129 :                                 if (res) return res;
    9094              :                               }
    9095              :                             }
    9096              :                           break;
    9097              :                         }
    9098              :                       default:;
    9099              :                       }
    9100              :                     break;
    9101              :                   }
    9102              :                 default:;
    9103              :                 }
    9104              :               break;
    9105              :             }
    9106              :           default:;
    9107              :           }
    9108              :         break;
    9109              :       }
    9110      4865976 :     default:;
    9111              :     }
    9112      4865976 :   switch (TREE_CODE (_p1))
    9113              :     {
    9114       226491 :     CASE_CONVERT:
    9115       226491 :       {
    9116       226491 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9117       226491 :         switch (TREE_CODE (_q30))
    9118              :           {
    9119          266 :           case PLUS_EXPR:
    9120          266 :             {
    9121          266 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9122          266 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9123          266 :               switch (TREE_CODE (_q40))
    9124              :                 {
    9125          204 :                 CASE_CONVERT:
    9126          204 :                   {
    9127          204 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9128          204 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9129              :                       {
    9130            0 :                         switch (TREE_CODE (_q41))
    9131              :                           {
    9132            0 :                           case INTEGER_CST:
    9133            0 :                             {
    9134            0 :                               {
    9135            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9136            0 :                                 tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9137            0 :                                 if (res) return res;
    9138              :                               }
    9139            0 :                               break;
    9140              :                             }
    9141              :                           default:;
    9142              :                           }
    9143              :                       }
    9144              :                     break;
    9145              :                   }
    9146              :                 default:;
    9147              :                 }
    9148              :               break;
    9149              :             }
    9150              :           default:;
    9151              :           }
    9152              :         break;
    9153              :       }
    9154        59064 :     case PLUS_EXPR:
    9155        59064 :       {
    9156        59064 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9157        59064 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9158        59064 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9159              :           {
    9160            0 :             switch (TREE_CODE (_q31))
    9161              :               {
    9162            0 :               case INTEGER_CST:
    9163            0 :                 {
    9164            0 :                   {
    9165            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9166            0 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9167            0 :                     if (res) return res;
    9168              :                   }
    9169            0 :                   break;
    9170              :                 }
    9171              :               default:;
    9172              :               }
    9173              :           }
    9174              :         break;
    9175              :       }
    9176         2736 :     case MINUS_EXPR:
    9177         2736 :       {
    9178         2736 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9179         2736 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9180         2736 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9181              :           {
    9182            0 :             {
    9183            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9184            0 :               tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, LE_EXPR);
    9185            0 :               if (res) return res;
    9186              :             }
    9187              :           }
    9188              :         break;
    9189              :       }
    9190      4865976 :     default:;
    9191              :     }
    9192      4865976 :   switch (TREE_CODE (_p0))
    9193              :     {
    9194       590422 :     case PLUS_EXPR:
    9195       590422 :       {
    9196       590422 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9197       590422 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9198       590422 :         switch (TREE_CODE (_q20))
    9199              :           {
    9200          141 :           case MINUS_EXPR:
    9201          141 :             {
    9202          141 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9203          141 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9204          141 :               if (integer_minus_onep (_q21))
    9205              :                 {
    9206            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9207              :                     {
    9208            1 :                       {
    9209            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9210            1 :                         tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, GE_EXPR);
    9211            1 :                         if (res) return res;
    9212              :                       }
    9213              :                     }
    9214              :                 }
    9215              :               break;
    9216              :             }
    9217              :           default:;
    9218              :           }
    9219              :         break;
    9220              :       }
    9221      4865975 :     default:;
    9222              :     }
    9223      4865975 :   switch (TREE_CODE (_p1))
    9224              :     {
    9225            0 :     case REALPART_EXPR:
    9226            0 :       {
    9227            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9228            0 :         switch (TREE_CODE (_q30))
    9229              :           {
    9230            0 :           case CALL_EXPR:
    9231            0 :             switch (get_call_combined_fn (_q30))
    9232              :               {
    9233            0 :               case CFN_SUB_OVERFLOW:
    9234            0 :                 if (call_expr_nargs (_q30) == 2)
    9235              :     {
    9236            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    9237            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    9238            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9239              :                       {
    9240            0 :                         {
    9241            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    9242            0 :                           tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    9243            0 :                           if (res) return res;
    9244              :                         }
    9245              :                       }
    9246              :                   }
    9247              :                 break;
    9248              :               default:;
    9249              :               }
    9250              :             break;
    9251              :           default:;
    9252              :           }
    9253              :         break;
    9254              :       }
    9255      4865975 :     default:;
    9256              :     }
    9257      4865975 :   switch (TREE_CODE (_p0))
    9258              :     {
    9259            0 :     case REALPART_EXPR:
    9260            0 :       {
    9261            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9262            0 :         switch (TREE_CODE (_q20))
    9263              :           {
    9264            0 :           case CALL_EXPR:
    9265            0 :             switch (get_call_combined_fn (_q20))
    9266              :               {
    9267            0 :               case CFN_ADD_OVERFLOW:
    9268            0 :                 if (call_expr_nargs (_q20) == 2)
    9269              :     {
    9270            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9271            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9272            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9273              :                       {
    9274            0 :                         {
    9275            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9276            0 :                           tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9277            0 :                           if (res) return res;
    9278              :                         }
    9279              :                       }
    9280            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9281              :                       {
    9282            0 :                         {
    9283            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    9284            0 :                           tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9285            0 :                           if (res) return res;
    9286              :                         }
    9287              :                       }
    9288              :                   }
    9289              :                 break;
    9290              :               default:;
    9291              :               }
    9292              :             break;
    9293              :           default:;
    9294              :           }
    9295              :         break;
    9296              :       }
    9297         1412 :     case TRUNC_DIV_EXPR:
    9298         1412 :       {
    9299         1412 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9300         1412 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9301         1412 :         if (integer_all_onesp (_q20))
    9302              :           {
    9303           33 :             {
    9304           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    9305           33 :               tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9306           33 :               if (res) return res;
    9307              :             }
    9308              :           }
    9309              :         break;
    9310              :       }
    9311        21619 :     case MULT_EXPR:
    9312        21619 :       {
    9313        21619 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9314        21619 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9315        21619 :         switch (TREE_CODE (_q21))
    9316              :           {
    9317          301 :           case REAL_CST:
    9318          301 :             {
    9319          301 :               switch (TREE_CODE (_p1))
    9320              :                 {
    9321           39 :                 case REAL_CST:
    9322           39 :                   {
    9323           39 :                     {
    9324           39 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9325           39 :                       tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9326           39 :                       if (res) return res;
    9327              :                     }
    9328           39 :                     break;
    9329              :                   }
    9330              :                 default:;
    9331              :                 }
    9332              :               break;
    9333              :             }
    9334              :           default:;
    9335              :           }
    9336              :         break;
    9337              :       }
    9338          151 :     case REAL_CST:
    9339          151 :       {
    9340          151 :         switch (TREE_CODE (_p1))
    9341              :           {
    9342            0 :           case CALL_EXPR:
    9343            0 :             switch (get_call_combined_fn (_p1))
    9344              :               {
    9345            0 :               case CFN_BUILT_IN_EXP:
    9346            0 :                 if (call_expr_nargs (_p1) == 1)
    9347              :     {
    9348            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9349            0 :                     {
    9350            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9351            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9352            0 :                       if (res) return res;
    9353              :                     }
    9354              :                   }
    9355              :                 break;
    9356            0 :               case CFN_BUILT_IN_LOG:
    9357            0 :                 if (call_expr_nargs (_p1) == 1)
    9358              :     {
    9359            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9360            0 :                     {
    9361            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9362            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9363            0 :                       if (res) return res;
    9364              :                     }
    9365              :                   }
    9366              :                 break;
    9367            0 :               case CFN_BUILT_IN_EXP10F:
    9368            0 :                 if (call_expr_nargs (_p1) == 1)
    9369              :     {
    9370            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9371            0 :                     {
    9372            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9373            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9374            0 :                       if (res) return res;
    9375              :                     }
    9376              :                   }
    9377              :                 break;
    9378            0 :               case CFN_BUILT_IN_EXP10L:
    9379            0 :                 if (call_expr_nargs (_p1) == 1)
    9380              :     {
    9381            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9382            0 :                     {
    9383            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9384            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9385            0 :                       if (res) return res;
    9386              :                     }
    9387              :                   }
    9388              :                 break;
    9389            0 :               case CFN_BUILT_IN_EXP2:
    9390            0 :                 if (call_expr_nargs (_p1) == 1)
    9391              :     {
    9392            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9393            0 :                     {
    9394            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9395            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9396            0 :                       if (res) return res;
    9397              :                     }
    9398              :                   }
    9399              :                 break;
    9400            0 :               case CFN_BUILT_IN_EXPF:
    9401            0 :                 if (call_expr_nargs (_p1) == 1)
    9402              :     {
    9403            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9404            0 :                     {
    9405            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9406            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9407            0 :                       if (res) return res;
    9408              :                     }
    9409              :                   }
    9410              :                 break;
    9411            0 :               case CFN_BUILT_IN_EXPL:
    9412            0 :                 if (call_expr_nargs (_p1) == 1)
    9413              :     {
    9414            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9415            0 :                     {
    9416            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9417            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9418            0 :                       if (res) return res;
    9419              :                     }
    9420              :                   }
    9421              :                 break;
    9422            0 :               case CFN_BUILT_IN_LOG2:
    9423            0 :                 if (call_expr_nargs (_p1) == 1)
    9424              :     {
    9425            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9426            0 :                     {
    9427            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9428            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9429            0 :                       if (res) return res;
    9430              :                     }
    9431              :                   }
    9432              :                 break;
    9433            0 :               case CFN_BUILT_IN_LOGF:
    9434            0 :                 if (call_expr_nargs (_p1) == 1)
    9435              :     {
    9436            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9437            0 :                     {
    9438            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9439            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9440            0 :                       if (res) return res;
    9441              :                     }
    9442              :                   }
    9443              :                 break;
    9444            0 :               case CFN_BUILT_IN_LOGL:
    9445            0 :                 if (call_expr_nargs (_p1) == 1)
    9446              :     {
    9447            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9448            0 :                     {
    9449            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9450            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9451            0 :                       if (res) return res;
    9452              :                     }
    9453              :                   }
    9454              :                 break;
    9455            0 :               case CFN_BUILT_IN_LOG10F:
    9456            0 :                 if (call_expr_nargs (_p1) == 1)
    9457              :     {
    9458            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9459            0 :                     {
    9460            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9461            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9462            0 :                       if (res) return res;
    9463              :                     }
    9464              :                   }
    9465              :                 break;
    9466            0 :               case CFN_BUILT_IN_LOG10L:
    9467            0 :                 if (call_expr_nargs (_p1) == 1)
    9468              :     {
    9469            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9470            0 :                     {
    9471            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9472            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9473            0 :                       if (res) return res;
    9474              :                     }
    9475              :                   }
    9476              :                 break;
    9477            0 :               case CFN_EXP:
    9478            0 :                 if (call_expr_nargs (_p1) == 1)
    9479              :     {
    9480            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9481            0 :                     {
    9482            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9483            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9484            0 :                       if (res) return res;
    9485              :                     }
    9486              :                   }
    9487              :                 break;
    9488            0 :               case CFN_LOG:
    9489            0 :                 if (call_expr_nargs (_p1) == 1)
    9490              :     {
    9491            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9492            0 :                     {
    9493            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9494            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9495            0 :                       if (res) return res;
    9496              :                     }
    9497              :                   }
    9498              :                 break;
    9499            0 :               case CFN_EXP2:
    9500            0 :                 if (call_expr_nargs (_p1) == 1)
    9501              :     {
    9502            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9503            0 :                     {
    9504            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9505            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9506            0 :                       if (res) return res;
    9507              :                     }
    9508              :                   }
    9509              :                 break;
    9510            0 :               case CFN_LOG2:
    9511            0 :                 if (call_expr_nargs (_p1) == 1)
    9512              :     {
    9513            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9514            0 :                     {
    9515            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9516            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9517            0 :                       if (res) return res;
    9518              :                     }
    9519              :                   }
    9520              :                 break;
    9521            0 :               case CFN_EXP10:
    9522            0 :                 if (call_expr_nargs (_p1) == 1)
    9523              :     {
    9524            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9525            0 :                     {
    9526            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9527            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9528            0 :                       if (res) return res;
    9529              :                     }
    9530              :                   }
    9531              :                 break;
    9532            0 :               case CFN_LOG10:
    9533            0 :                 if (call_expr_nargs (_p1) == 1)
    9534              :     {
    9535            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9536            0 :                     {
    9537            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9538            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9539            0 :                       if (res) return res;
    9540              :                     }
    9541              :                   }
    9542              :                 break;
    9543            0 :               case CFN_BUILT_IN_EXP10:
    9544            0 :                 if (call_expr_nargs (_p1) == 1)
    9545              :     {
    9546            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9547            0 :                     {
    9548            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9549            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9550            0 :                       if (res) return res;
    9551              :                     }
    9552              :                   }
    9553              :                 break;
    9554            0 :               case CFN_BUILT_IN_EXP2F:
    9555            0 :                 if (call_expr_nargs (_p1) == 1)
    9556              :     {
    9557            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9558            0 :                     {
    9559            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9560            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9561            0 :                       if (res) return res;
    9562              :                     }
    9563              :                   }
    9564              :                 break;
    9565            0 :               case CFN_BUILT_IN_EXP2L:
    9566            0 :                 if (call_expr_nargs (_p1) == 1)
    9567              :     {
    9568            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9569            0 :                     {
    9570            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9571            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9572            0 :                       if (res) return res;
    9573              :                     }
    9574              :                   }
    9575              :                 break;
    9576            0 :               case CFN_BUILT_IN_LOG10:
    9577            0 :                 if (call_expr_nargs (_p1) == 1)
    9578              :     {
    9579            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9580            0 :                     {
    9581            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9582            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9583            0 :                       if (res) return res;
    9584              :                     }
    9585              :                   }
    9586              :                 break;
    9587            0 :               case CFN_BUILT_IN_LOG2F:
    9588            0 :                 if (call_expr_nargs (_p1) == 1)
    9589              :     {
    9590            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9591            0 :                     {
    9592            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9593            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9594            0 :                       if (res) return res;
    9595              :                     }
    9596              :                   }
    9597              :                 break;
    9598            0 :               case CFN_BUILT_IN_LOG2L:
    9599            0 :                 if (call_expr_nargs (_p1) == 1)
    9600              :     {
    9601            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9602            0 :                     {
    9603            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9604            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9605            0 :                       if (res) return res;
    9606              :                     }
    9607              :                   }
    9608              :                 break;
    9609              :               default:;
    9610              :               }
    9611              :             break;
    9612              :           default:;
    9613              :           }
    9614              :         break;
    9615              :       }
    9616       590421 :     case PLUS_EXPR:
    9617       590421 :       {
    9618       590421 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9619       590421 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9620       590421 :         switch (TREE_CODE (_q21))
    9621              :           {
    9622       477832 :           case INTEGER_CST:
    9623       477832 :             {
    9624       477832 :               switch (TREE_CODE (_p1))
    9625              :                 {
    9626       117151 :                 case INTEGER_CST:
    9627       117151 :                   {
    9628       117151 :                     {
    9629       117151 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9630       117151 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
    9631       117151 :                       if (res) return res;
    9632              :                     }
    9633        56859 :                     break;
    9634              :                   }
    9635              :                 default:;
    9636              :                 }
    9637              :               break;
    9638              :             }
    9639              :           default:;
    9640              :           }
    9641              :         break;
    9642              :       }
    9643        58471 :     case MINUS_EXPR:
    9644        58471 :       {
    9645        58471 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9646        58471 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9647        58471 :         switch (TREE_CODE (_q21))
    9648              :           {
    9649            7 :           case INTEGER_CST:
    9650            7 :             {
    9651            7 :               switch (TREE_CODE (_p1))
    9652              :                 {
    9653            7 :                 case INTEGER_CST:
    9654            7 :                   {
    9655            7 :                     {
    9656            7 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9657            7 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR, LE_EXPR);
    9658            7 :                       if (res) return res;
    9659              :                     }
    9660            0 :                     break;
    9661              :                   }
    9662              :                 default:;
    9663              :                 }
    9664              :               break;
    9665              :             }
    9666        58464 :           default:;
    9667              :           }
    9668        58464 :         switch (TREE_CODE (_q20))
    9669              :           {
    9670         1712 :           case INTEGER_CST:
    9671         1712 :             {
    9672         1712 :               switch (TREE_CODE (_p1))
    9673              :                 {
    9674          547 :                 case INTEGER_CST:
    9675          547 :                   {
    9676          547 :                     {
    9677          547 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9678          547 :                       tree res = generic_simplify_290 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9679          547 :                       if (res) return res;
    9680              :                     }
    9681            0 :                     break;
    9682              :                   }
    9683              :                 default:;
    9684              :                 }
    9685              :               break;
    9686              :             }
    9687              :           default:;
    9688              :           }
    9689              :         break;
    9690              :       }
    9691       313587 :     case CALL_EXPR:
    9692       313587 :       switch (get_call_combined_fn (_p0))
    9693              :         {
    9694            1 :         case CFN_BUILT_IN_CTZ:
    9695            1 :           if (call_expr_nargs (_p0) == 1)
    9696              :     {
    9697            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9698            1 :               switch (TREE_CODE (_p1))
    9699              :                 {
    9700            1 :                 case INTEGER_CST:
    9701            1 :                   {
    9702            1 :                     {
    9703            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9704            1 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9705            1 :                       if (res) return res;
    9706              :                     }
    9707            0 :                     break;
    9708              :                   }
    9709              :                 default:;
    9710              :                 }
    9711              :             }
    9712              :           break;
    9713            1 :         case CFN_BUILT_IN_EXP:
    9714            1 :           if (call_expr_nargs (_p0) == 1)
    9715              :     {
    9716            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9717            1 :               switch (TREE_CODE (_p1))
    9718              :                 {
    9719            1 :                 case REAL_CST:
    9720            1 :                   {
    9721            1 :                     {
    9722            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9723            1 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9724            1 :                       if (res) return res;
    9725              :                     }
    9726            1 :                     break;
    9727              :                   }
    9728              :                 default:;
    9729              :                 }
    9730              :             }
    9731              :           break;
    9732            1 :         case CFN_BUILT_IN_LOG:
    9733            1 :           if (call_expr_nargs (_p0) == 1)
    9734              :     {
    9735            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9736            1 :               switch (TREE_CODE (_p1))
    9737              :                 {
    9738            0 :                 case REAL_CST:
    9739            0 :                   {
    9740            0 :                     {
    9741            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9742            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9743            0 :                       if (res) return res;
    9744              :                     }
    9745            0 :                     break;
    9746              :                   }
    9747              :                 default:;
    9748              :                 }
    9749              :             }
    9750              :           break;
    9751            0 :         case CFN_BUILT_IN_EXP10F:
    9752            0 :           if (call_expr_nargs (_p0) == 1)
    9753              :     {
    9754            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9755            0 :               switch (TREE_CODE (_p1))
    9756              :                 {
    9757            0 :                 case REAL_CST:
    9758            0 :                   {
    9759            0 :                     {
    9760            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9761            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9762            0 :                       if (res) return res;
    9763              :                     }
    9764            0 :                     break;
    9765              :                   }
    9766              :                 default:;
    9767              :                 }
    9768              :             }
    9769              :           break;
    9770            0 :         case CFN_BUILT_IN_EXP10L:
    9771            0 :           if (call_expr_nargs (_p0) == 1)
    9772              :     {
    9773            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9774            0 :               switch (TREE_CODE (_p1))
    9775              :                 {
    9776            0 :                 case REAL_CST:
    9777            0 :                   {
    9778            0 :                     {
    9779            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9780            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9781            0 :                       if (res) return res;
    9782              :                     }
    9783            0 :                     break;
    9784              :                   }
    9785              :                 default:;
    9786              :                 }
    9787              :             }
    9788              :           break;
    9789            0 :         case CFN_BUILT_IN_CTZL:
    9790            0 :           if (call_expr_nargs (_p0) == 1)
    9791              :     {
    9792            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9793            0 :               switch (TREE_CODE (_p1))
    9794              :                 {
    9795            0 :                 case INTEGER_CST:
    9796            0 :                   {
    9797            0 :                     {
    9798            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9799            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9800            0 :                       if (res) return res;
    9801              :                     }
    9802            0 :                     break;
    9803              :                   }
    9804              :                 default:;
    9805              :                 }
    9806              :             }
    9807              :           break;
    9808            0 :         case CFN_BUILT_IN_EXP2:
    9809            0 :           if (call_expr_nargs (_p0) == 1)
    9810              :     {
    9811            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9812            0 :               switch (TREE_CODE (_p1))
    9813              :                 {
    9814            0 :                 case REAL_CST:
    9815            0 :                   {
    9816            0 :                     {
    9817            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9818            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9819            0 :                       if (res) return res;
    9820              :                     }
    9821            0 :                     break;
    9822              :                   }
    9823              :                 default:;
    9824              :                 }
    9825              :             }
    9826              :           break;
    9827            0 :         case CFN_BUILT_IN_EXPF:
    9828            0 :           if (call_expr_nargs (_p0) == 1)
    9829              :     {
    9830            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9831            0 :               switch (TREE_CODE (_p1))
    9832              :                 {
    9833            0 :                 case REAL_CST:
    9834            0 :                   {
    9835            0 :                     {
    9836            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9837            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    9838            0 :                       if (res) return res;
    9839              :                     }
    9840            0 :                     break;
    9841              :                   }
    9842              :                 default:;
    9843              :                 }
    9844              :             }
    9845              :           break;
    9846            0 :         case CFN_BUILT_IN_EXPL:
    9847            0 :           if (call_expr_nargs (_p0) == 1)
    9848              :     {
    9849            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9850            0 :               switch (TREE_CODE (_p1))
    9851              :                 {
    9852            0 :                 case REAL_CST:
    9853            0 :                   {
    9854            0 :                     {
    9855            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9856            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    9857            0 :                       if (res) return res;
    9858              :                     }
    9859            0 :                     break;
    9860              :                   }
    9861              :                 default:;
    9862              :                 }
    9863              :             }
    9864              :           break;
    9865            0 :         case CFN_BUILT_IN_LOG2:
    9866            0 :           if (call_expr_nargs (_p0) == 1)
    9867              :     {
    9868            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9869            0 :               switch (TREE_CODE (_p1))
    9870              :                 {
    9871            0 :                 case REAL_CST:
    9872            0 :                   {
    9873            0 :                     {
    9874            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9875            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
    9876            0 :                       if (res) return res;
    9877              :                     }
    9878            0 :                     break;
    9879              :                   }
    9880              :                 default:;
    9881              :                 }
    9882              :             }
    9883              :           break;
    9884            0 :         case CFN_BUILT_IN_LOGF:
    9885            0 :           if (call_expr_nargs (_p0) == 1)
    9886              :     {
    9887            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9888            0 :               switch (TREE_CODE (_p1))
    9889              :                 {
    9890            0 :                 case REAL_CST:
    9891            0 :                   {
    9892            0 :                     {
    9893            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9894            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
    9895            0 :                       if (res) return res;
    9896              :                     }
    9897            0 :                     break;
    9898              :                   }
    9899              :                 default:;
    9900              :                 }
    9901              :             }
    9902              :           break;
    9903            0 :         case CFN_BUILT_IN_LOGL:
    9904            0 :           if (call_expr_nargs (_p0) == 1)
    9905              :     {
    9906            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9907            0 :               switch (TREE_CODE (_p1))
    9908              :                 {
    9909            0 :                 case REAL_CST:
    9910            0 :                   {
    9911            0 :                     {
    9912            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9913            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
    9914            0 :                       if (res) return res;
    9915              :                     }
    9916            0 :                     break;
    9917              :                   }
    9918              :                 default:;
    9919              :                 }
    9920              :             }
    9921              :           break;
    9922            0 :         case CFN_BUILT_IN_LOG10F:
    9923            0 :           if (call_expr_nargs (_p0) == 1)
    9924              :     {
    9925            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9926            0 :               switch (TREE_CODE (_p1))
    9927              :                 {
    9928            0 :                 case REAL_CST:
    9929            0 :                   {
    9930            0 :                     {
    9931            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9932            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9933            0 :                       if (res) return res;
    9934              :                     }
    9935            0 :                     break;
    9936              :                   }
    9937              :                 default:;
    9938              :                 }
    9939              :             }
    9940              :           break;
    9941            0 :         case CFN_BUILT_IN_LOG10L:
    9942            0 :           if (call_expr_nargs (_p0) == 1)
    9943              :     {
    9944            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9945            0 :               switch (TREE_CODE (_p1))
    9946              :                 {
    9947            0 :                 case REAL_CST:
    9948            0 :                   {
    9949            0 :                     {
    9950            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9951            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9952            0 :                       if (res) return res;
    9953              :                     }
    9954            0 :                     break;
    9955              :                   }
    9956              :                 default:;
    9957              :                 }
    9958              :             }
    9959              :           break;
    9960            0 :         case CFN_BUILT_IN_CTZIMAX:
    9961            0 :           if (call_expr_nargs (_p0) == 1)
    9962              :     {
    9963            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9964            0 :               switch (TREE_CODE (_p1))
    9965              :                 {
    9966            0 :                 case INTEGER_CST:
    9967            0 :                   {
    9968            0 :                     {
    9969            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9970            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
    9971            0 :                       if (res) return res;
    9972              :                     }
    9973            0 :                     break;
    9974              :                   }
    9975              :                 default:;
    9976              :                 }
    9977              :             }
    9978              :           break;
    9979            0 :         case CFN_CTZ:
    9980            0 :           if (call_expr_nargs (_p0) == 2)
    9981              :     {
    9982            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9983            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    9984            0 :               switch (TREE_CODE (_p1))
    9985              :                 {
    9986            0 :                 case INTEGER_CST:
    9987            0 :                   {
    9988            0 :                     {
    9989            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9990            0 :                       tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9991            0 :                       if (res) return res;
    9992              :                     }
    9993            0 :                     break;
    9994              :                   }
    9995              :                 default:;
    9996              :                 }
    9997              :             }
    9998            0 :           if (call_expr_nargs (_p0) == 1)
    9999              :     {
   10000            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10001            0 :               switch (TREE_CODE (_p1))
   10002              :                 {
   10003            0 :                 case INTEGER_CST:
   10004            0 :                   {
   10005            0 :                     {
   10006            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10007            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
   10008            0 :                       if (res) return res;
   10009              :                     }
   10010            0 :                     break;
   10011              :                   }
   10012              :                 default:;
   10013              :                 }
   10014              :             }
   10015              :           break;
   10016            0 :         case CFN_EXP:
   10017            0 :           if (call_expr_nargs (_p0) == 1)
   10018              :     {
   10019            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10020            0 :               switch (TREE_CODE (_p1))
   10021              :                 {
   10022            0 :                 case REAL_CST:
   10023            0 :                   {
   10024            0 :                     {
   10025            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10026            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10027            0 :                       if (res) return res;
   10028              :                     }
   10029            0 :                     break;
   10030              :                   }
   10031              :                 default:;
   10032              :                 }
   10033              :             }
   10034              :           break;
   10035            0 :         case CFN_LOG:
   10036            0 :           if (call_expr_nargs (_p0) == 1)
   10037              :     {
   10038            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10039            0 :               switch (TREE_CODE (_p1))
   10040              :                 {
   10041            0 :                 case REAL_CST:
   10042            0 :                   {
   10043            0 :                     {
   10044            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10045            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10046            0 :                       if (res) return res;
   10047              :                     }
   10048            0 :                     break;
   10049              :                   }
   10050              :                 default:;
   10051              :                 }
   10052              :             }
   10053              :           break;
   10054            0 :         case CFN_EXP2:
   10055            0 :           if (call_expr_nargs (_p0) == 1)
   10056              :     {
   10057            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10058            0 :               switch (TREE_CODE (_p1))
   10059              :                 {
   10060            0 :                 case REAL_CST:
   10061            0 :                   {
   10062            0 :                     {
   10063            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10064            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10065            0 :                       if (res) return res;
   10066              :                     }
   10067            0 :                     break;
   10068              :                   }
   10069              :                 default:;
   10070              :                 }
   10071              :             }
   10072              :           break;
   10073            0 :         case CFN_LOG2:
   10074            0 :           if (call_expr_nargs (_p0) == 1)
   10075              :     {
   10076            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10077            0 :               switch (TREE_CODE (_p1))
   10078              :                 {
   10079            0 :                 case REAL_CST:
   10080            0 :                   {
   10081            0 :                     {
   10082            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10083            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10084            0 :                       if (res) return res;
   10085              :                     }
   10086            0 :                     break;
   10087              :                   }
   10088              :                 default:;
   10089              :                 }
   10090              :             }
   10091              :           break;
   10092            0 :         case CFN_EXP10:
   10093            0 :           if (call_expr_nargs (_p0) == 1)
   10094              :     {
   10095            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10096            0 :               switch (TREE_CODE (_p1))
   10097              :                 {
   10098            0 :                 case REAL_CST:
   10099            0 :                   {
   10100            0 :                     {
   10101            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10102            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10103            0 :                       if (res) return res;
   10104              :                     }
   10105            0 :                     break;
   10106              :                   }
   10107              :                 default:;
   10108              :                 }
   10109              :             }
   10110              :           break;
   10111            0 :         case CFN_BUILT_IN_CTZLL:
   10112            0 :           if (call_expr_nargs (_p0) == 1)
   10113              :     {
   10114            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10115            0 :               switch (TREE_CODE (_p1))
   10116              :                 {
   10117            0 :                 case INTEGER_CST:
   10118            0 :                   {
   10119            0 :                     {
   10120            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10121            0 :                       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10122            0 :                       if (res) return res;
   10123              :                     }
   10124            0 :                     break;
   10125              :                   }
   10126              :                 default:;
   10127              :                 }
   10128              :             }
   10129              :           break;
   10130            0 :         case CFN_LOG10:
   10131            0 :           if (call_expr_nargs (_p0) == 1)
   10132              :     {
   10133            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10134            0 :               switch (TREE_CODE (_p1))
   10135              :                 {
   10136            0 :                 case REAL_CST:
   10137            0 :                   {
   10138            0 :                     {
   10139            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10140            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10141            0 :                       if (res) return res;
   10142              :                     }
   10143            0 :                     break;
   10144              :                   }
   10145              :                 default:;
   10146              :                 }
   10147              :             }
   10148              :           break;
   10149            0 :         case CFN_BUILT_IN_EXP10:
   10150            0 :           if (call_expr_nargs (_p0) == 1)
   10151              :     {
   10152            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10153            0 :               switch (TREE_CODE (_p1))
   10154              :                 {
   10155            0 :                 case REAL_CST:
   10156            0 :                   {
   10157            0 :                     {
   10158            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10159            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10160            0 :                       if (res) return res;
   10161              :                     }
   10162            0 :                     break;
   10163              :                   }
   10164              :                 default:;
   10165              :                 }
   10166              :             }
   10167              :           break;
   10168            0 :         case CFN_BUILT_IN_EXP2F:
   10169            0 :           if (call_expr_nargs (_p0) == 1)
   10170              :     {
   10171            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10172            0 :               switch (TREE_CODE (_p1))
   10173              :                 {
   10174            0 :                 case REAL_CST:
   10175            0 :                   {
   10176            0 :                     {
   10177            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10178            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10179            0 :                       if (res) return res;
   10180              :                     }
   10181            0 :                     break;
   10182              :                   }
   10183              :                 default:;
   10184              :                 }
   10185              :             }
   10186              :           break;
   10187            0 :         case CFN_BUILT_IN_EXP2L:
   10188            0 :           if (call_expr_nargs (_p0) == 1)
   10189              :     {
   10190            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10191            0 :               switch (TREE_CODE (_p1))
   10192              :                 {
   10193            0 :                 case REAL_CST:
   10194            0 :                   {
   10195            0 :                     {
   10196            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10197            0 :                       tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10198            0 :                       if (res) return res;
   10199              :                     }
   10200            0 :                     break;
   10201              :                   }
   10202              :                 default:;
   10203              :                 }
   10204              :             }
   10205              :           break;
   10206            0 :         case CFN_BUILT_IN_LOG10:
   10207            0 :           if (call_expr_nargs (_p0) == 1)
   10208              :     {
   10209            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10210            0 :               switch (TREE_CODE (_p1))
   10211              :                 {
   10212            0 :                 case REAL_CST:
   10213            0 :                   {
   10214            0 :                     {
   10215            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10216            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10217            0 :                       if (res) return res;
   10218              :                     }
   10219            0 :                     break;
   10220              :                   }
   10221              :                 default:;
   10222              :                 }
   10223              :             }
   10224              :           break;
   10225            0 :         case CFN_BUILT_IN_LOG2F:
   10226            0 :           if (call_expr_nargs (_p0) == 1)
   10227              :     {
   10228            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10229            0 :               switch (TREE_CODE (_p1))
   10230              :                 {
   10231            0 :                 case REAL_CST:
   10232            0 :                   {
   10233            0 :                     {
   10234            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10235            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10236            0 :                       if (res) return res;
   10237              :                     }
   10238            0 :                     break;
   10239              :                   }
   10240              :                 default:;
   10241              :                 }
   10242              :             }
   10243              :           break;
   10244            0 :         case CFN_BUILT_IN_LOG2L:
   10245            0 :           if (call_expr_nargs (_p0) == 1)
   10246              :     {
   10247            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10248            0 :               switch (TREE_CODE (_p1))
   10249              :                 {
   10250            0 :                 case REAL_CST:
   10251            0 :                   {
   10252            0 :                     {
   10253            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10254            0 :                       tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10255            0 :                       if (res) return res;
   10256              :                     }
   10257            0 :                     break;
   10258              :                   }
   10259              :                 default:;
   10260              :                 }
   10261              :             }
   10262              :           break;
   10263              :         default:;
   10264              :         }
   10265              :       break;
   10266              :     default:;
   10267              :     }
   10268              :   return NULL_TREE;
   10269              : }
   10270              : 
   10271              : tree
   10272         1908 : generic_simplify_LROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10273              : {
   10274         1908 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10275         1908 :   if (integer_all_onesp (_p0))
   10276              :     {
   10277            0 :       {
   10278            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10279            0 :         tree res = generic_simplify_527 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10280            0 :         if (res) return res;
   10281              :       }
   10282              :     }
   10283         1908 :   if (integer_zerop (_p1))
   10284              :     {
   10285            0 :       {
   10286            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10287            0 :         tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10288            0 :         if (res) return res;
   10289              :       }
   10290              :     }
   10291         1908 :   if (integer_zerop (_p0))
   10292              :     {
   10293            0 :       {
   10294            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10295            0 :         tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10296            0 :         if (res) return res;
   10297              :       }
   10298              :     }
   10299         1908 :   switch (TREE_CODE (_p1))
   10300              :     {
   10301            0 :     case VECTOR_CST:
   10302            0 :       {
   10303            0 :         {
   10304            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10305            0 :           tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10306            0 :           if (res) return res;
   10307              :         }
   10308            0 :         break;
   10309              :       }
   10310            0 :     case CONSTRUCTOR:
   10311            0 :       {
   10312            0 :         {
   10313            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10314            0 :           tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10315            0 :           if (res) return res;
   10316              :         }
   10317            0 :         break;
   10318              :       }
   10319         1238 :     case INTEGER_CST:
   10320         1238 :       {
   10321         1238 :         {
   10322         1238 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10323         1238 :           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1735;
   10324         1238 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1735;
   10325         1238 :           {
   10326         1238 :             tree res_op0;
   10327         1238 :             res_op0 = captures[0];
   10328         1238 :             tree res_op1;
   10329         1238 :             res_op1 =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
   10330         1238 :  build_int_cst (TREE_TYPE (captures[1]),
   10331         1238 :  element_precision (type)), captures[1]);
   10332         1238 :             tree _r;
   10333         1238 :             _r = fold_build2_loc (loc, RROTATE_EXPR, type, res_op0, res_op1);
   10334         1238 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1014, __FILE__, __LINE__, true);
   10335         1238 :             return _r;
   10336              :           }
   10337            0 : next_after_fail1735:;
   10338              :         }
   10339            0 :         break;
   10340              :       }
   10341            0 :     case MINUS_EXPR:
   10342            0 :       {
   10343            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10344            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10345            0 :         switch (TREE_CODE (_q30))
   10346              :           {
   10347            0 :           case INTEGER_CST:
   10348            0 :             {
   10349            0 :               {
   10350            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10351            0 :                 tree res = generic_simplify_528 (loc, type, _p0, _p1, captures, LROTATE_EXPR, RROTATE_EXPR);
   10352            0 :                 if (res) return res;
   10353              :               }
   10354            0 :               break;
   10355              :             }
   10356              :           default:;
   10357              :           }
   10358              :         break;
   10359              :       }
   10360          670 :     default:;
   10361              :     }
   10362          670 :   switch (TREE_CODE (_p0))
   10363              :     {
   10364            0 :     case LROTATE_EXPR:
   10365            0 :       {
   10366            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10367            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10368            0 :         switch (TREE_CODE (_q21))
   10369              :           {
   10370            0 :           case INTEGER_CST:
   10371            0 :             {
   10372            0 :               switch (TREE_CODE (_p1))
   10373              :                 {
   10374            0 :                 case INTEGER_CST:
   10375            0 :                   {
   10376            0 :                     {
   10377            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10378            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, LROTATE_EXPR);
   10379            0 :                       if (res) return res;
   10380              :                     }
   10381            0 :                     break;
   10382              :                   }
   10383              :                 default:;
   10384              :                 }
   10385              :               break;
   10386              :             }
   10387              :           default:;
   10388              :           }
   10389              :         break;
   10390              :       }
   10391              :     default:;
   10392              :     }
   10393              :   return NULL_TREE;
   10394              : }
   10395              : 
   10396              : tree
   10397         2784 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10398              : {
   10399         2784 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10400         2784 :   if (integer_all_onesp (_p0))
   10401              :     {
   10402            0 :       {
   10403            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10404            0 :         tree res = generic_simplify_527 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10405            0 :         if (res) return res;
   10406              :       }
   10407              :     }
   10408         2784 :   if (integer_zerop (_p1))
   10409              :     {
   10410            1 :       {
   10411            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10412            1 :         tree res = generic_simplify_411 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10413            1 :         if (res) return res;
   10414              :       }
   10415              :     }
   10416         2783 :   if (integer_zerop (_p0))
   10417              :     {
   10418            0 :       {
   10419            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10420            0 :         tree res = generic_simplify_412 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10421            0 :         if (res) return res;
   10422              :       }
   10423              :     }
   10424         2783 :   switch (TREE_CODE (_p1))
   10425              :     {
   10426            0 :     case VECTOR_CST:
   10427            0 :       {
   10428            0 :         {
   10429            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10430            0 :           tree res = generic_simplify_413 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10431            0 :           if (res) return res;
   10432              :         }
   10433            0 :         break;
   10434              :       }
   10435            0 :     case CONSTRUCTOR:
   10436            0 :       {
   10437            0 :         {
   10438            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10439            0 :           tree res = generic_simplify_414 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10440            0 :           if (res) return res;
   10441              :         }
   10442            0 :         break;
   10443              :       }
   10444            0 :     case MINUS_EXPR:
   10445            0 :       {
   10446            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10447            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10448            0 :         switch (TREE_CODE (_q30))
   10449              :           {
   10450            0 :           case INTEGER_CST:
   10451            0 :             {
   10452            0 :               {
   10453            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   10454            0 :                 tree res = generic_simplify_528 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   10455            0 :                 if (res) return res;
   10456              :               }
   10457            0 :               break;
   10458              :             }
   10459              :           default:;
   10460              :           }
   10461              :         break;
   10462              :       }
   10463         2783 :     default:;
   10464              :     }
   10465         2783 :   switch (TREE_CODE (_p0))
   10466              :     {
   10467            0 :     case RROTATE_EXPR:
   10468            0 :       {
   10469            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10470            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10471            0 :         switch (TREE_CODE (_q21))
   10472              :           {
   10473            0 :           case INTEGER_CST:
   10474            0 :             {
   10475            0 :               switch (TREE_CODE (_p1))
   10476              :                 {
   10477            0 :                 case INTEGER_CST:
   10478            0 :                   {
   10479            0 :                     {
   10480            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   10481            0 :                       tree res = generic_simplify_415 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   10482            0 :                       if (res) return res;
   10483              :                     }
   10484            0 :                     break;
   10485              :                   }
   10486              :                 default:;
   10487              :                 }
   10488              :               break;
   10489              :             }
   10490              :           default:;
   10491              :           }
   10492              :         break;
   10493              :       }
   10494              :     default:;
   10495              :     }
   10496              :   return NULL_TREE;
   10497              : }
   10498              : 
   10499              : tree
   10500       732916 : generic_simplify_UNORDERED_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10501              : {
   10502       732916 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10503       732916 :   switch (TREE_CODE (_p0))
   10504              :     {
   10505            0 :     case VEC_COND_EXPR:
   10506            0 :       {
   10507            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10508            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10509            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10510            0 :         switch (TREE_CODE (_p1))
   10511              :           {
   10512            0 :           case VEC_COND_EXPR:
   10513            0 :             {
   10514            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10515            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10516            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10517            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10518              :                 {
   10519            0 :                   {
   10520            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10521            0 :                     if (VECTOR_TYPE_P (type)
   10522            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10523            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10524            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10525              :  || (optimize_vectors_before_lowering_p ()
   10526            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10527              : )
   10528              :                       {
   10529            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1737;
   10530            0 :                         {
   10531            0 :                           tree res_op0;
   10532            0 :                           res_op0 = captures[1];
   10533            0 :                           tree res_op1;
   10534            0 :                           {
   10535            0 :                             tree _o1[2], _r1;
   10536            0 :                             _o1[0] = captures[2];
   10537            0 :                             _o1[1] = captures[5];
   10538            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10539            0 :                             if (EXPR_P (_r1))
   10540            0 :                               goto next_after_fail1737;
   10541            0 :                             res_op1 = _r1;
   10542              :                           }
   10543            0 :                           tree res_op2;
   10544            0 :                           {
   10545            0 :                             tree _o1[2], _r1;
   10546            0 :                             _o1[0] = captures[3];
   10547            0 :                             _o1[1] = captures[6];
   10548            0 :                             _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10549            0 :                             if (EXPR_P (_r1))
   10550            0 :                               goto next_after_fail1737;
   10551            0 :                             res_op2 = _r1;
   10552              :                           }
   10553            0 :                           tree _r;
   10554            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10555            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
   10556            0 :                           return _r;
   10557              :                         }
   10558            0 : next_after_fail1737:;
   10559              :                       }
   10560              :                   }
   10561              :                 }
   10562              :               break;
   10563              :             }
   10564            0 :           default:;
   10565              :           }
   10566            0 :         {
   10567            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10568            0 :           if (VECTOR_TYPE_P (type)
   10569            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10570            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10571            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10572              :  || (optimize_vectors_before_lowering_p ()
   10573            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10574              : )
   10575              :             {
   10576            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1738;
   10577            0 :               {
   10578            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1738;
   10579            0 :                 tree res_op0;
   10580            0 :                 res_op0 = captures[1];
   10581            0 :                 tree res_op1;
   10582            0 :                 {
   10583            0 :                   tree _o1[2], _r1;
   10584            0 :                   _o1[0] = captures[2];
   10585            0 :                   _o1[1] = unshare_expr (captures[4]);
   10586            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10587            0 :                   if (EXPR_P (_r1))
   10588            0 :                     goto next_after_fail1738;
   10589            0 :                   res_op1 = _r1;
   10590              :                 }
   10591            0 :                 tree res_op2;
   10592            0 :                 {
   10593            0 :                   tree _o1[2], _r1;
   10594            0 :                   _o1[0] = captures[3];
   10595            0 :                   _o1[1] = captures[4];
   10596            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10597            0 :                   if (EXPR_P (_r1))
   10598            0 :                     goto next_after_fail1738;
   10599            0 :                   res_op2 = _r1;
   10600              :                 }
   10601            0 :                 tree _r;
   10602            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10603            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   10604            0 :                 return _r;
   10605              :               }
   10606            0 : next_after_fail1738:;
   10607              :             }
   10608              :         }
   10609            0 :         break;
   10610              :       }
   10611       732916 :     default:;
   10612              :     }
   10613       732916 :   switch (TREE_CODE (_p1))
   10614              :     {
   10615            0 :     case VEC_COND_EXPR:
   10616            0 :       {
   10617            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10618            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10619            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10620            0 :         {
   10621            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10622            0 :           if (VECTOR_TYPE_P (type)
   10623            0 :  && (TREE_CODE_CLASS (UNORDERED_EXPR) != tcc_comparison
   10624            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10625            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10626              :  || (optimize_vectors_before_lowering_p ()
   10627            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10628              : )
   10629              :             {
   10630            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1739;
   10631            0 :               {
   10632            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1739;
   10633            0 :                 tree res_op0;
   10634            0 :                 res_op0 = captures[2];
   10635            0 :                 tree res_op1;
   10636            0 :                 {
   10637            0 :                   tree _o1[2], _r1;
   10638            0 :                   _o1[0] = unshare_expr (captures[0]);
   10639            0 :                   _o1[1] = captures[3];
   10640            0 :                   _r1 = fold_build2_loc (loc, UNORDERED_EXPR, type, _o1[0], _o1[1]);
   10641            0 :                   if (EXPR_P (_r1))
   10642            0 :                     goto next_after_fail1739;
   10643            0 :                   res_op1 = _r1;
   10644              :                 }
   10645            0 :                 tree res_op2;
   10646            0 :                 {
   10647            0 :                   tree _o1[2], _r1;
   10648            0 :                   _o1[0] = captures[0];
   10649            0 :                   _o1[1] = 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_fail1739;
   10653            0 :                   res_op2 = _r1;
   10654              :                 }
   10655            0 :                 tree _r;
   10656            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10657            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   10658            0 :                 return _r;
   10659              :               }
   10660            0 : next_after_fail1739:;
   10661              :             }
   10662              :         }
   10663            0 :         break;
   10664              :       }
   10665       732916 :     default:;
   10666              :     }
   10667       732916 :   switch (TREE_CODE (_p0))
   10668              :     {
   10669            0 :     case FLOAT_EXPR:
   10670            0 :       {
   10671            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10672            0 :         switch (TREE_CODE (_p1))
   10673              :           {
   10674            0 :           case FLOAT_EXPR:
   10675            0 :             {
   10676            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10677            0 :               {
   10678            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10679            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10680            0 :                 if (res) return res;
   10681              :               }
   10682            0 :               break;
   10683              :             }
   10684              :           default:;
   10685              :           }
   10686              :         break;
   10687              :       }
   10688           18 :     case NEGATE_EXPR:
   10689           18 :       {
   10690           18 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10691           18 :         switch (TREE_CODE (_p1))
   10692              :           {
   10693           18 :           case NEGATE_EXPR:
   10694           18 :             {
   10695           18 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10696           18 :               {
   10697           18 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10698           18 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10699           18 :                 if (res) return res;
   10700              :               }
   10701            0 :               break;
   10702              :             }
   10703            0 :           default:;
   10704              :           }
   10705            0 :       if (CONSTANT_CLASS_P (_p1))
   10706              :         {
   10707            0 :           {
   10708            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10709            0 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, UNORDERED_EXPR);
   10710            0 :             if (res) return res;
   10711              :           }
   10712              :         }
   10713              :         break;
   10714              :       }
   10715       732898 :     default:;
   10716              :     }
   10717       732898 :   switch (TREE_CODE (_p1))
   10718              :     {
   10719          519 :     case REAL_CST:
   10720          519 :       {
   10721          519 :         {
   10722          519 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10723          519 :           tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, UNORDERED_EXPR);
   10724          519 :           if (res) return res;
   10725              :         }
   10726          519 :         break;
   10727              :       }
   10728       732898 :     default:;
   10729              :     }
   10730       732898 :   {
   10731       732898 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10732       732898 :     if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
   10733              : )
   10734              :       {
   10735            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1740;
   10736            0 :         {
   10737            0 :           tree _r;
   10738            0 :           _r =  constant_boolean_node (true, type);
   10739            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10740            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10741            0 :           if (TREE_SIDE_EFFECTS (captures[1]))
   10742            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10743            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1016, __FILE__, __LINE__, true);
   10744            0 :           return _r;
   10745              :         }
   10746            0 : next_after_fail1740:;
   10747              :       }
   10748              :     else
   10749              :       {
   10750       732898 :         if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
   10751              : )
   10752              :           {
   10753           35 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1741;
   10754           35 :             {
   10755           35 :               tree _r;
   10756           35 :               _r =  constant_boolean_node (false, type);
   10757           35 :               if (TREE_SIDE_EFFECTS (captures[0]))
   10758            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10759           35 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10760            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10761           35 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
   10762           35 :               return _r;
   10763              :             }
   10764            0 : next_after_fail1741:;
   10765              :           }
   10766              :       }
   10767              :   }
   10768       732863 :   return NULL_TREE;
   10769              : }
   10770              : 
   10771              : tree
   10772       697527 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10773              : {
   10774       697527 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10775       697527 :   switch (TREE_CODE (_p0))
   10776              :     {
   10777            0 :     case VEC_COND_EXPR:
   10778            0 :       {
   10779            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10780            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10781            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   10782            0 :         switch (TREE_CODE (_p1))
   10783              :           {
   10784            0 :           case VEC_COND_EXPR:
   10785            0 :             {
   10786            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   10787            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   10788            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   10789            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   10790              :                 {
   10791            0 :                   {
   10792            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   10793            0 :                     if (VECTOR_TYPE_P (type)
   10794            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10795            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10796            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10797              :  || (optimize_vectors_before_lowering_p ()
   10798            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10799              : )
   10800              :                       {
   10801            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1747;
   10802            0 :                         {
   10803            0 :                           tree res_op0;
   10804            0 :                           res_op0 = captures[1];
   10805            0 :                           tree res_op1;
   10806            0 :                           {
   10807            0 :                             tree _o1[2], _r1;
   10808            0 :                             _o1[0] = captures[2];
   10809            0 :                             _o1[1] = captures[5];
   10810            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10811            0 :                             if (EXPR_P (_r1))
   10812            0 :                               goto next_after_fail1747;
   10813            0 :                             res_op1 = _r1;
   10814              :                           }
   10815            0 :                           tree res_op2;
   10816            0 :                           {
   10817            0 :                             tree _o1[2], _r1;
   10818            0 :                             _o1[0] = captures[3];
   10819            0 :                             _o1[1] = captures[6];
   10820            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10821            0 :                             if (EXPR_P (_r1))
   10822            0 :                               goto next_after_fail1747;
   10823            0 :                             res_op2 = _r1;
   10824              :                           }
   10825            0 :                           tree _r;
   10826            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10827            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
   10828            0 :                           return _r;
   10829              :                         }
   10830            0 : next_after_fail1747:;
   10831              :                       }
   10832              :                   }
   10833              :                 }
   10834              :               break;
   10835              :             }
   10836            0 :           default:;
   10837              :           }
   10838            0 :         {
   10839            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   10840            0 :           if (VECTOR_TYPE_P (type)
   10841            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10842            0 :  || types_match (type, TREE_TYPE (captures[2]))
   10843            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   10844              :  || (optimize_vectors_before_lowering_p ()
   10845            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   10846              : )
   10847              :             {
   10848            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1748;
   10849            0 :               {
   10850            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1748;
   10851            0 :                 tree res_op0;
   10852            0 :                 res_op0 = captures[1];
   10853            0 :                 tree res_op1;
   10854            0 :                 {
   10855            0 :                   tree _o1[2], _r1;
   10856            0 :                   _o1[0] = captures[2];
   10857            0 :                   _o1[1] = unshare_expr (captures[4]);
   10858            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10859            0 :                   if (EXPR_P (_r1))
   10860            0 :                     goto next_after_fail1748;
   10861            0 :                   res_op1 = _r1;
   10862              :                 }
   10863            0 :                 tree res_op2;
   10864            0 :                 {
   10865            0 :                   tree _o1[2], _r1;
   10866            0 :                   _o1[0] = captures[3];
   10867            0 :                   _o1[1] = captures[4];
   10868            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10869            0 :                   if (EXPR_P (_r1))
   10870            0 :                     goto next_after_fail1748;
   10871            0 :                   res_op2 = _r1;
   10872              :                 }
   10873            0 :                 tree _r;
   10874            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10875            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   10876            0 :                 return _r;
   10877              :               }
   10878            0 : next_after_fail1748:;
   10879              :             }
   10880              :         }
   10881            0 :         break;
   10882              :       }
   10883       697527 :     default:;
   10884              :     }
   10885       697527 :   switch (TREE_CODE (_p1))
   10886              :     {
   10887            0 :     case VEC_COND_EXPR:
   10888            0 :       {
   10889            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10890            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10891            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   10892            0 :         {
   10893            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   10894            0 :           if (VECTOR_TYPE_P (type)
   10895            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   10896            0 :  || types_match (type, TREE_TYPE (captures[3]))
   10897            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   10898              :  || (optimize_vectors_before_lowering_p ()
   10899            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   10900              : )
   10901              :             {
   10902            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1749;
   10903            0 :               {
   10904            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1749;
   10905            0 :                 tree res_op0;
   10906            0 :                 res_op0 = captures[2];
   10907            0 :                 tree res_op1;
   10908            0 :                 {
   10909            0 :                   tree _o1[2], _r1;
   10910            0 :                   _o1[0] = unshare_expr (captures[0]);
   10911            0 :                   _o1[1] = captures[3];
   10912            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   10913            0 :                   if (EXPR_P (_r1))
   10914            0 :                     goto next_after_fail1749;
   10915            0 :                   res_op1 = _r1;
   10916              :                 }
   10917            0 :                 tree res_op2;
   10918            0 :                 {
   10919            0 :                   tree _o1[2], _r1;
   10920            0 :                   _o1[0] = captures[0];
   10921            0 :                   _o1[1] = 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_fail1749;
   10925            0 :                   res_op2 = _r1;
   10926              :                 }
   10927            0 :                 tree _r;
   10928            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   10929            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   10930            0 :                 return _r;
   10931              :               }
   10932            0 : next_after_fail1749:;
   10933              :             }
   10934              :         }
   10935            0 :         break;
   10936              :       }
   10937       697527 :     default:;
   10938              :     }
   10939       697527 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10940              :     {
   10941            0 :       {
   10942            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10943            0 :         tree res = generic_simplify_550 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   10944            0 :         if (res) return res;
   10945              :       }
   10946              :     }
   10947       697527 :   switch (TREE_CODE (_p0))
   10948              :     {
   10949          283 :     case FLOAT_EXPR:
   10950          283 :       {
   10951          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10952          283 :         switch (TREE_CODE (_p1))
   10953              :           {
   10954            0 :           case FLOAT_EXPR:
   10955            0 :             {
   10956            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10957            0 :               {
   10958            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   10959            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   10960            0 :                 if (res) return res;
   10961              :               }
   10962            0 :               break;
   10963              :             }
   10964              :           default:;
   10965              :           }
   10966              :         break;
   10967              :       }
   10968            0 :     case NEGATE_EXPR:
   10969            0 :       {
   10970            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10971            0 :         switch (TREE_CODE (_p1))
   10972              :           {
   10973            0 :           case NEGATE_EXPR:
   10974            0 :             {
   10975            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   10976            0 :               {
   10977            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   10978            0 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   10979            0 :                 if (res) return res;
   10980              :               }
   10981            0 :               break;
   10982              :             }
   10983            0 :           default:;
   10984              :           }
   10985            0 :       if (CONSTANT_CLASS_P (_p1))
   10986              :         {
   10987            0 :           {
   10988            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   10989            0 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   10990            0 :             if (res) return res;
   10991              :           }
   10992              :         }
   10993              :         break;
   10994              :       }
   10995       697527 :     default:;
   10996              :     }
   10997       697527 :   switch (TREE_CODE (_p1))
   10998              :     {
   10999       350158 :     case REAL_CST:
   11000       350158 :       {
   11001       350158 :         {
   11002       350158 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11003       350158 :           tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11004       350158 :           if (res) return res;
   11005              :         }
   11006       350156 :         break;
   11007              :       }
   11008              :     default:;
   11009              :     }
   11010              :   return NULL_TREE;
   11011              : }
   11012              : 
   11013              : tree
   11014           87 : generic_simplify_LTGT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11015              : {
   11016           87 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11017           87 :   switch (TREE_CODE (_p0))
   11018              :     {
   11019            0 :     case VEC_COND_EXPR:
   11020            0 :       {
   11021            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11022            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11023            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11024            0 :         switch (TREE_CODE (_p1))
   11025              :           {
   11026            0 :           case VEC_COND_EXPR:
   11027            0 :             {
   11028            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11029            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11030            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11031            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11032              :                 {
   11033            0 :                   {
   11034            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11035            0 :                     if (VECTOR_TYPE_P (type)
   11036            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11037            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11038            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11039              :  || (optimize_vectors_before_lowering_p ()
   11040            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11041              : )
   11042              :                       {
   11043            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1762;
   11044            0 :                         {
   11045            0 :                           tree res_op0;
   11046            0 :                           res_op0 = captures[1];
   11047            0 :                           tree res_op1;
   11048            0 :                           {
   11049            0 :                             tree _o1[2], _r1;
   11050            0 :                             _o1[0] = captures[2];
   11051            0 :                             _o1[1] = captures[5];
   11052            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11053            0 :                             if (EXPR_P (_r1))
   11054            0 :                               goto next_after_fail1762;
   11055            0 :                             res_op1 = _r1;
   11056              :                           }
   11057            0 :                           tree res_op2;
   11058            0 :                           {
   11059            0 :                             tree _o1[2], _r1;
   11060            0 :                             _o1[0] = captures[3];
   11061            0 :                             _o1[1] = captures[6];
   11062            0 :                             _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11063            0 :                             if (EXPR_P (_r1))
   11064            0 :                               goto next_after_fail1762;
   11065            0 :                             res_op2 = _r1;
   11066              :                           }
   11067            0 :                           tree _r;
   11068            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11069            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
   11070            0 :                           return _r;
   11071              :                         }
   11072            0 : next_after_fail1762:;
   11073              :                       }
   11074              :                   }
   11075              :                 }
   11076              :               break;
   11077              :             }
   11078            0 :           default:;
   11079              :           }
   11080            0 :         {
   11081            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11082            0 :           if (VECTOR_TYPE_P (type)
   11083            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11084            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11085            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11086              :  || (optimize_vectors_before_lowering_p ()
   11087            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11088              : )
   11089              :             {
   11090            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1763;
   11091            0 :               {
   11092            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1763;
   11093            0 :                 tree res_op0;
   11094            0 :                 res_op0 = captures[1];
   11095            0 :                 tree res_op1;
   11096            0 :                 {
   11097            0 :                   tree _o1[2], _r1;
   11098            0 :                   _o1[0] = captures[2];
   11099            0 :                   _o1[1] = unshare_expr (captures[4]);
   11100            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11101            0 :                   if (EXPR_P (_r1))
   11102            0 :                     goto next_after_fail1763;
   11103            0 :                   res_op1 = _r1;
   11104              :                 }
   11105            0 :                 tree res_op2;
   11106            0 :                 {
   11107            0 :                   tree _o1[2], _r1;
   11108            0 :                   _o1[0] = captures[3];
   11109            0 :                   _o1[1] = captures[4];
   11110            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11111            0 :                   if (EXPR_P (_r1))
   11112            0 :                     goto next_after_fail1763;
   11113            0 :                   res_op2 = _r1;
   11114              :                 }
   11115            0 :                 tree _r;
   11116            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11117            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
   11118            0 :                 return _r;
   11119              :               }
   11120            0 : next_after_fail1763:;
   11121              :             }
   11122              :         }
   11123            0 :         break;
   11124              :       }
   11125           87 :     default:;
   11126              :     }
   11127           87 :   switch (TREE_CODE (_p1))
   11128              :     {
   11129            0 :     case VEC_COND_EXPR:
   11130            0 :       {
   11131            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11132            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11133            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11134            0 :         {
   11135            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11136            0 :           if (VECTOR_TYPE_P (type)
   11137            0 :  && (TREE_CODE_CLASS (LTGT_EXPR) != tcc_comparison
   11138            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11139            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11140              :  || (optimize_vectors_before_lowering_p ()
   11141            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11142              : )
   11143              :             {
   11144            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1764;
   11145            0 :               {
   11146            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1764;
   11147            0 :                 tree res_op0;
   11148            0 :                 res_op0 = captures[2];
   11149            0 :                 tree res_op1;
   11150            0 :                 {
   11151            0 :                   tree _o1[2], _r1;
   11152            0 :                   _o1[0] = unshare_expr (captures[0]);
   11153            0 :                   _o1[1] = captures[3];
   11154            0 :                   _r1 = fold_build2_loc (loc, LTGT_EXPR, type, _o1[0], _o1[1]);
   11155            0 :                   if (EXPR_P (_r1))
   11156            0 :                     goto next_after_fail1764;
   11157            0 :                   res_op1 = _r1;
   11158              :                 }
   11159            0 :                 tree res_op2;
   11160            0 :                 {
   11161            0 :                   tree _o1[2], _r1;
   11162            0 :                   _o1[0] = captures[0];
   11163            0 :                   _o1[1] = 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_fail1764;
   11167            0 :                   res_op2 = _r1;
   11168              :                 }
   11169            0 :                 tree _r;
   11170            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11171            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
   11172            0 :                 return _r;
   11173              :               }
   11174            0 : next_after_fail1764:;
   11175              :             }
   11176              :         }
   11177            0 :         break;
   11178              :       }
   11179           87 :     default:;
   11180              :     }
   11181           87 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11182              :     {
   11183            2 :       {
   11184            2 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11185            2 :         if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
   11186              : )
   11187              :           {
   11188            0 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1765;
   11189            0 :             {
   11190            0 :               tree _r;
   11191            0 :               _r =  constant_boolean_node (false, type);
   11192            0 :               if (TREE_SIDE_EFFECTS (captures[0]))
   11193            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11194            0 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1020, __FILE__, __LINE__, true);
   11195            0 :               return _r;
   11196              :             }
   11197            0 : next_after_fail1765:;
   11198              :           }
   11199              :       }
   11200              :     }
   11201           87 :   switch (TREE_CODE (_p0))
   11202              :     {
   11203            0 :     case FLOAT_EXPR:
   11204            0 :       {
   11205            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11206            0 :         switch (TREE_CODE (_p1))
   11207              :           {
   11208            0 :           case FLOAT_EXPR:
   11209            0 :             {
   11210            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11211            0 :               {
   11212            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
   11213            0 :                 tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, LTGT_EXPR, NE_EXPR);
   11214            0 :                 if (res) return res;
   11215              :               }
   11216            0 :               break;
   11217              :             }
   11218              :           default:;
   11219              :           }
   11220              :         break;
   11221              :       }
   11222            0 :     case NEGATE_EXPR:
   11223            0 :       {
   11224            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11225            0 :         switch (TREE_CODE (_p1))
   11226              :           {
   11227            0 :           case NEGATE_EXPR:
   11228            0 :             {
   11229            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11230            0 :               {
   11231            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11232            0 :                 tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11233            0 :                 if (res) return res;
   11234              :               }
   11235            0 :               break;
   11236              :             }
   11237            0 :           default:;
   11238              :           }
   11239            0 :       if (CONSTANT_CLASS_P (_p1))
   11240              :         {
   11241            0 :           {
   11242            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11243            0 :             tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, LTGT_EXPR, LTGT_EXPR);
   11244            0 :             if (res) return res;
   11245              :           }
   11246              :         }
   11247              :         break;
   11248              :       }
   11249           87 :     default:;
   11250              :     }
   11251           87 :   switch (TREE_CODE (_p1))
   11252              :     {
   11253            2 :     case REAL_CST:
   11254            2 :       {
   11255            2 :         {
   11256            2 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11257            2 :           tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, LTGT_EXPR);
   11258            2 :           if (res) return res;
   11259              :         }
   11260            2 :         break;
   11261              :       }
   11262              :     default:;
   11263              :     }
   11264              :   return NULL_TREE;
   11265              : }
   11266              : 
   11267              : tree
   11268       390658 : 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)
   11269              : {
   11270       390658 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11271       390658 :   switch (TREE_CODE (_p0))
   11272              :     {
   11273        15689 :     case VECTOR_CST:
   11274        15689 :       {
   11275        15689 :         {
   11276        15689 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11277        15689 :           if (integer_all_onesp (captures[0])
   11278              : )
   11279              :             {
   11280         3118 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   11281         3118 :               {
   11282         3118 :                 tree _r;
   11283         3118 :                 _r = captures[1];
   11284         3118 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11285            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11286         3118 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11287            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11288         3118 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   11289         3118 :                 return _r;
   11290              :               }
   11291            0 : next_after_fail1868:;
   11292              :             }
   11293              :           else
   11294              :             {
   11295        12571 :               if (integer_zerop (captures[0])
   11296              : )
   11297              :                 {
   11298         1883 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   11299         1883 :                   {
   11300         1883 :                     tree _r;
   11301         1883 :                     _r = captures[2];
   11302         1883 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11303            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11304         1883 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11305            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11306         1883 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   11307         1883 :                     return _r;
   11308              :                   }
   11309            0 : next_after_fail1869:;
   11310              :                 }
   11311              :             }
   11312              :         }
   11313        10688 :         break;
   11314              :       }
   11315       385657 :     default:;
   11316              :     }
   11317       385657 :   switch (TREE_CODE (_p1))
   11318              :     {
   11319       322170 :     case VECTOR_CST:
   11320       322170 :       {
   11321       322170 :         switch (TREE_CODE (_p2))
   11322              :           {
   11323       311801 :           case VECTOR_CST:
   11324       311801 :             {
   11325       311801 :               {
   11326       311801 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11327       311801 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11328       311939 :  && types_match (type, TREE_TYPE (captures[0]))
   11329              : )
   11330              :                   {
   11331          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   11332              : )
   11333              :                       {
   11334           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
   11335           28 :                         {
   11336           28 :                           tree res_op0;
   11337           28 :                           res_op0 = captures[0];
   11338           28 :                           tree _r;
   11339           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   11340           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   11341            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11342           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   11343            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11344           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1058, __FILE__, __LINE__, true);
   11345           28 :                           return _r;
   11346              :                         }
   11347            0 : next_after_fail1870:;
   11348              :                       }
   11349              :                     else
   11350              :                       {
   11351          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   11352              : )
   11353              :                           {
   11354           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
   11355           73 :                             {
   11356           73 :                               tree _r;
   11357           73 :                               _r = captures[0];
   11358           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   11359            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11360           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   11361            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11362           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
   11363           73 :                               return _r;
   11364              :                             }
   11365            0 : next_after_fail1871:;
   11366              :                           }
   11367              :                       }
   11368              :                   }
   11369              :               }
   11370       311700 :               break;
   11371              :             }
   11372              :           default:;
   11373              :           }
   11374              :         break;
   11375              :       }
   11376       385556 :     default:;
   11377              :     }
   11378       385556 :   switch (TREE_CODE (_p0))
   11379              :     {
   11380         1302 :     case NE_EXPR:
   11381         1302 :       {
   11382         1302 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11383         1302 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11384         1302 :         switch (TREE_CODE (_p1))
   11385              :           {
   11386            6 :           case MINUS_EXPR:
   11387            6 :             {
   11388            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11389            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11390            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11391              :                 {
   11392            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11393              :                     {
   11394            6 :                       if (integer_zerop (_p2))
   11395              :                         {
   11396            6 :                           {
   11397            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11398            6 :                             tree res = generic_simplify_534 (loc, type, _p0, _p1, _p2, captures);
   11399            6 :                             if (res) return res;
   11400              :                           }
   11401              :                         }
   11402              :                     }
   11403              :                 }
   11404            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11405              :                 {
   11406            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11407              :                     {
   11408            0 :                       if (integer_zerop (_p2))
   11409              :                         {
   11410            0 :                           {
   11411            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11412            0 :                             tree res = generic_simplify_534 (loc, type, _p0, _p1, _p2, captures);
   11413            0 :                             if (res) return res;
   11414              :                           }
   11415              :                         }
   11416              :                     }
   11417              :                 }
   11418              :               break;
   11419              :             }
   11420            6 :           case BIT_XOR_EXPR:
   11421            6 :             {
   11422            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11423            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11424            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11425              :                 {
   11426            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11427              :                     {
   11428            6 :                       if (integer_zerop (_p2))
   11429              :                         {
   11430            6 :                           {
   11431            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11432            6 :                             tree res = generic_simplify_535 (loc, type, _p0, _p1, _p2, captures);
   11433            6 :                             if (res) return res;
   11434              :                           }
   11435              :                         }
   11436              :                     }
   11437              :                 }
   11438            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11439              :                 {
   11440            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11441              :                     {
   11442            0 :                       if (integer_zerop (_p2))
   11443              :                         {
   11444            0 :                           {
   11445            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11446            0 :                             tree res = generic_simplify_535 (loc, type, _p0, _p1, _p2, captures);
   11447            0 :                             if (res) return res;
   11448              :                           }
   11449              :                         }
   11450              :                     }
   11451              :                 }
   11452              :               break;
   11453              :             }
   11454            6 :           case BIT_AND_EXPR:
   11455            6 :             {
   11456            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11457            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11458            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11459              :                 {
   11460            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11461              :                     {
   11462            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11463              :                         {
   11464            6 :                           {
   11465            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11466            6 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11467            6 :                             if (res) return res;
   11468              :                           }
   11469              :                         }
   11470            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11471              :                         {
   11472            0 :                           {
   11473            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11474            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11475            0 :                             if (res) return res;
   11476              :                           }
   11477              :                         }
   11478              :                     }
   11479              :                 }
   11480            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11481              :                 {
   11482            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11483              :                     {
   11484            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11485              :                         {
   11486            0 :                           {
   11487            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11488            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11489            0 :                             if (res) return res;
   11490              :                           }
   11491              :                         }
   11492            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11493              :                         {
   11494            0 :                           {
   11495            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11496            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   11497            0 :                             if (res) return res;
   11498              :                           }
   11499              :                         }
   11500              :                     }
   11501              :                 }
   11502              :               break;
   11503              :             }
   11504            6 :           case BIT_IOR_EXPR:
   11505            6 :             {
   11506            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11507            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11508            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11509              :                 {
   11510            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11511              :                     {
   11512            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11513              :                         {
   11514            6 :                           {
   11515            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11516            6 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11517            6 :                             if (res) return res;
   11518              :                           }
   11519              :                         }
   11520            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11521              :                         {
   11522            0 :                           {
   11523            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11524            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11525            0 :                             if (res) return res;
   11526              :                           }
   11527              :                         }
   11528              :                     }
   11529              :                 }
   11530            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11531              :                 {
   11532            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11533              :                     {
   11534            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11535              :                         {
   11536            0 :                           {
   11537            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11538            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11539            0 :                             if (res) return res;
   11540              :                           }
   11541              :                         }
   11542            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11543              :                         {
   11544            0 :                           {
   11545            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11546            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   11547            0 :                             if (res) return res;
   11548              :                           }
   11549              :                         }
   11550              :                     }
   11551              :                 }
   11552              :               break;
   11553              :             }
   11554            0 :           case MIN_EXPR:
   11555            0 :             {
   11556            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11557            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11558            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11559              :                 {
   11560            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11561              :                     {
   11562            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11563              :                         {
   11564            0 :                           {
   11565            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11566            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11567            0 :                             if (res) return res;
   11568              :                           }
   11569              :                         }
   11570            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11571              :                         {
   11572            0 :                           {
   11573            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11574            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11575            0 :                             if (res) return res;
   11576              :                           }
   11577              :                         }
   11578              :                     }
   11579              :                 }
   11580            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11581              :                 {
   11582            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11583              :                     {
   11584            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11585              :                         {
   11586            0 :                           {
   11587            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11588            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11589            0 :                             if (res) return res;
   11590              :                           }
   11591              :                         }
   11592            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11593              :                         {
   11594            0 :                           {
   11595            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11596            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   11597            0 :                             if (res) return res;
   11598              :                           }
   11599              :                         }
   11600              :                     }
   11601              :                 }
   11602              :               break;
   11603              :             }
   11604            0 :           case MAX_EXPR:
   11605            0 :             {
   11606            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11607            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11608            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11609              :                 {
   11610            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11611              :                     {
   11612            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11613              :                         {
   11614            0 :                           {
   11615            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11616            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11617            0 :                             if (res) return res;
   11618              :                           }
   11619              :                         }
   11620            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11621              :                         {
   11622            0 :                           {
   11623            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11624            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11625            0 :                             if (res) return res;
   11626              :                           }
   11627              :                         }
   11628              :                     }
   11629              :                 }
   11630            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11631              :                 {
   11632            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11633              :                     {
   11634            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   11635              :                         {
   11636            0 :                           {
   11637            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11638            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11639            0 :                             if (res) return res;
   11640              :                           }
   11641              :                         }
   11642            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   11643              :                         {
   11644            0 :                           {
   11645            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11646            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   11647            0 :                             if (res) return res;
   11648              :                           }
   11649              :                         }
   11650              :                     }
   11651              :                 }
   11652              :               break;
   11653              :             }
   11654            6 :           case MULT_EXPR:
   11655            6 :             {
   11656            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11657            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11658            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11659              :                 {
   11660            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11661              :                     {
   11662            6 :                       switch (TREE_CODE (_p2))
   11663              :                         {
   11664            6 :                         case MULT_EXPR:
   11665            6 :                           {
   11666            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11667            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11668            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11669              :                               {
   11670            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11671              :                                   {
   11672            6 :                                     {
   11673            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11674            6 :                                       const enum tree_code op = MULT_EXPR;
   11675            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11676              : )
   11677              :                                         {
   11678            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1872;
   11679            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
   11680            6 :                                           {
   11681            6 :                                             tree _r;
   11682            6 :                                             _r = captures[2];
   11683            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   11684            6 :                                             return _r;
   11685              :                                           }
   11686            0 : next_after_fail1872:;
   11687              :                                         }
   11688              :                                     }
   11689              :                                   }
   11690              :                               }
   11691              :                             break;
   11692              :                           }
   11693              :                         default:;
   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 :                       switch (TREE_CODE (_p2))
   11702              :                         {
   11703            0 :                         case MULT_EXPR:
   11704            0 :                           {
   11705            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11706            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11707            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11708              :                               {
   11709            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11710              :                                   {
   11711            0 :                                     {
   11712            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11713            0 :                                       const enum tree_code op = MULT_EXPR;
   11714            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11715              : )
   11716              :                                         {
   11717            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1873;
   11718            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
   11719            0 :                                           {
   11720            0 :                                             tree _r;
   11721            0 :                                             _r = captures[2];
   11722            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   11723            0 :                                             return _r;
   11724              :                                           }
   11725            0 : next_after_fail1873:;
   11726              :                                         }
   11727              :                                     }
   11728              :                                   }
   11729              :                               }
   11730              :                             break;
   11731              :                           }
   11732              :                         default:;
   11733              :                         }
   11734              :                     }
   11735              :                 }
   11736              :               break;
   11737              :             }
   11738           23 :           case PLUS_EXPR:
   11739           23 :             {
   11740           23 :               tree _q50 = TREE_OPERAND (_p1, 0);
   11741           23 :               tree _q51 = TREE_OPERAND (_p1, 1);
   11742           23 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11743              :                 {
   11744           12 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   11745              :                     {
   11746           12 :                       switch (TREE_CODE (_p2))
   11747              :                         {
   11748            6 :                         case PLUS_EXPR:
   11749            6 :                           {
   11750            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11751            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11752            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11753              :                               {
   11754            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   11755              :                                   {
   11756            6 :                                     {
   11757            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11758            6 :                                       const enum tree_code op = PLUS_EXPR;
   11759            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11760              : )
   11761              :                                         {
   11762            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1874;
   11763            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
   11764            6 :                                           {
   11765            6 :                                             tree _r;
   11766            6 :                                             _r = captures[2];
   11767            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   11768            6 :                                             return _r;
   11769              :                                           }
   11770            0 : next_after_fail1874:;
   11771              :                                         }
   11772              :                                     }
   11773              :                                   }
   11774              :                               }
   11775              :                             break;
   11776              :                           }
   11777            6 :                         case MULT_EXPR:
   11778            6 :                           {
   11779            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11780            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11781            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11782              :                               {
   11783            6 :                                 if (uniform_integer_cst_p (_q81))
   11784              :                                   {
   11785            6 :                                     {
   11786            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11787            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11788              : )
   11789              :                                         {
   11790            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1875;
   11791            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
   11792            6 :                                           {
   11793            6 :                                             tree _r;
   11794            6 :                                             _r = captures[2];
   11795            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11796            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11797            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   11798            6 :                                             return _r;
   11799              :                                           }
   11800            0 : next_after_fail1875:;
   11801              :                                         }
   11802              :                                     }
   11803              :                                   }
   11804              :                               }
   11805            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11806              :                               {
   11807            0 :                                 if (uniform_integer_cst_p (_q81))
   11808              :                                   {
   11809            0 :                                     {
   11810            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11811            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11812              : )
   11813              :                                         {
   11814            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1876;
   11815            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
   11816            0 :                                           {
   11817            0 :                                             tree _r;
   11818            0 :                                             _r = captures[2];
   11819            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11820            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11821            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   11822            0 :                                             return _r;
   11823              :                                           }
   11824            0 : next_after_fail1876:;
   11825              :                                         }
   11826              :                                     }
   11827              :                                   }
   11828              :                               }
   11829              :                             break;
   11830              :                           }
   11831              :                         default:;
   11832              :                         }
   11833              :                     }
   11834              :                 }
   11835           11 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   11836              :                 {
   11837            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   11838              :                     {
   11839            0 :                       switch (TREE_CODE (_p2))
   11840              :                         {
   11841            0 :                         case PLUS_EXPR:
   11842            0 :                           {
   11843            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11844            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11845            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11846              :                               {
   11847            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   11848              :                                   {
   11849            0 :                                     {
   11850            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   11851            0 :                                       const enum tree_code op = PLUS_EXPR;
   11852            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   11853              : )
   11854              :                                         {
   11855            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1877;
   11856            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
   11857            0 :                                           {
   11858            0 :                                             tree _r;
   11859            0 :                                             _r = captures[2];
   11860            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1023, __FILE__, __LINE__, true);
   11861            0 :                                             return _r;
   11862              :                                           }
   11863            0 : next_after_fail1877:;
   11864              :                                         }
   11865              :                                     }
   11866              :                                   }
   11867              :                               }
   11868              :                             break;
   11869              :                           }
   11870            0 :                         case MULT_EXPR:
   11871            0 :                           {
   11872            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   11873            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   11874            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   11875              :                               {
   11876            0 :                                 if (uniform_integer_cst_p (_q81))
   11877              :                                   {
   11878            0 :                                     {
   11879            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   11880            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11881              : )
   11882              :                                         {
   11883            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1878;
   11884            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
   11885            0 :                                           {
   11886            0 :                                             tree _r;
   11887            0 :                                             _r = captures[2];
   11888            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11889            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11890            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   11891            0 :                                             return _r;
   11892              :                                           }
   11893            0 : next_after_fail1878:;
   11894              :                                         }
   11895              :                                     }
   11896              :                                   }
   11897              :                               }
   11898            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   11899              :                               {
   11900            0 :                                 if (uniform_integer_cst_p (_q81))
   11901              :                                   {
   11902            0 :                                     {
   11903            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   11904            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   11905              : )
   11906              :                                         {
   11907            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1879;
   11908            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
   11909            0 :                                           {
   11910            0 :                                             tree _r;
   11911            0 :                                             _r = captures[2];
   11912            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   11913            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   11914            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1024, __FILE__, __LINE__, true);
   11915            0 :                                             return _r;
   11916              :                                           }
   11917            0 : next_after_fail1879:;
   11918              :                                         }
   11919              :                                     }
   11920              :                                   }
   11921              :                               }
   11922              :                             break;
   11923              :                           }
   11924              :                         default:;
   11925              :                         }
   11926              :                     }
   11927              :                 }
   11928              :               break;
   11929              :             }
   11930              :           default:;
   11931              :           }
   11932              :         break;
   11933              :       }
   11934       385514 :     default:;
   11935              :     }
   11936       385514 :   switch (TREE_CODE (_p1))
   11937              :     {
   11938            6 :     case VEC_COND_EXPR:
   11939            6 :       {
   11940            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11941            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11942            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11943            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11944              :           {
   11945            0 :             {
   11946            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   11947            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
   11948            0 :               {
   11949            0 :                 tree res_op0;
   11950            0 :                 res_op0 = captures[0];
   11951            0 :                 tree res_op1;
   11952            0 :                 res_op1 = captures[1];
   11953            0 :                 tree res_op2;
   11954            0 :                 res_op2 = captures[3];
   11955            0 :                 tree _r;
   11956            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11957            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11958            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11959            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1031, __FILE__, __LINE__, true);
   11960            0 :                 return _r;
   11961              :               }
   11962            0 : next_after_fail1880:;
   11963              :             }
   11964              :           }
   11965              :         break;
   11966              :       }
   11967       385514 :     default:;
   11968              :     }
   11969       385514 :   switch (TREE_CODE (_p2))
   11970              :     {
   11971            3 :     case VEC_COND_EXPR:
   11972            3 :       {
   11973            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   11974            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   11975            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   11976            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   11977              :           {
   11978            0 :             {
   11979            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   11980            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
   11981            0 :               {
   11982            0 :                 tree res_op0;
   11983            0 :                 res_op0 = captures[0];
   11984            0 :                 tree res_op1;
   11985            0 :                 res_op1 = captures[1];
   11986            0 :                 tree res_op2;
   11987            0 :                 res_op2 = captures[3];
   11988            0 :                 tree _r;
   11989            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11990            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11991            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11992            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
   11993            0 :                 return _r;
   11994              :               }
   11995            0 : next_after_fail1881:;
   11996              :             }
   11997              :           }
   11998            3 :         {
   11999            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   12000            3 :           if (inverse_conditions_p (captures[0], captures[2])
   12001              : )
   12002              :             {
   12003            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
   12004            0 :               {
   12005            0 :                 tree res_op0;
   12006            0 :                 res_op0 = captures[0];
   12007            0 :                 tree res_op1;
   12008            0 :                 res_op1 = captures[1];
   12009            0 :                 tree res_op2;
   12010            0 :                 res_op2 = captures[3];
   12011            0 :                 tree _r;
   12012            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12013            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12014            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12015            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   12016            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   12017            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
   12018            0 :                 return _r;
   12019              :               }
   12020            0 : next_after_fail1882:;
   12021              :             }
   12022              :         }
   12023            3 :         break;
   12024              :       }
   12025       385514 :     default:;
   12026              :     }
   12027       385514 :   switch (TREE_CODE (_p1))
   12028              :     {
   12029            6 :     case VEC_COND_EXPR:
   12030            6 :       {
   12031            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12032            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12033            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12034            6 :         {
   12035            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   12036            6 :           if (inverse_conditions_p (captures[0], captures[1])
   12037              : )
   12038              :             {
   12039            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
   12040            0 :               {
   12041            0 :                 tree res_op0;
   12042            0 :                 res_op0 = captures[0];
   12043            0 :                 tree res_op1;
   12044            0 :                 res_op1 = captures[3];
   12045            0 :                 tree res_op2;
   12046            0 :                 res_op2 = captures[4];
   12047            0 :                 tree _r;
   12048            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12049            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   12050            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12051            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12052            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12053            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
   12054            0 :                 return _r;
   12055              :               }
   12056            0 : next_after_fail1883:;
   12057              :             }
   12058              :         }
   12059            6 :         break;
   12060              :       }
   12061       385514 :     default:;
   12062              :     }
   12063       385514 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   12064              :     {
   12065           33 :       {
   12066           33 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12067           33 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
   12068           33 :         {
   12069           33 :           tree _r;
   12070           33 :           _r = captures[1];
   12071           33 :           if (TREE_SIDE_EFFECTS (captures[0]))
   12072            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12073           33 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
   12074           33 :           return _r;
   12075              :         }
   12076            0 : next_after_fail1884:;
   12077              :       }
   12078              :     }
   12079       385481 :   switch (TREE_CODE (_p0))
   12080              :     {
   12081        66969 :     case EQ_EXPR:
   12082        66969 :       {
   12083        66969 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12084        66969 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12085        66969 :         if (zerop (_q21))
   12086              :           {
   12087          965 :             switch (TREE_CODE (_p2))
   12088              :               {
   12089            0 :               case NEGATE_EXPR:
   12090            0 :                 {
   12091            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12092            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12093              :                     {
   12094            0 :                       {
   12095            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12096            0 :                         const enum tree_code cmp = EQ_EXPR;
   12097            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12098            0 :  && bitwise_equal_p (captures[0], captures[1])
   12099              : )
   12100              :                           {
   12101            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1885;
   12102            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1885;
   12103            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
   12104            0 :                             {
   12105            0 :                               tree _r;
   12106            0 :                               _r = captures[2];
   12107            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   12108            0 :                               return _r;
   12109              :                             }
   12110            0 : next_after_fail1885:;
   12111              :                           }
   12112              :                       }
   12113              :                     }
   12114              :                   break;
   12115              :                 }
   12116          965 :               default:;
   12117              :               }
   12118          965 :             if (zerop (_p1))
   12119              :               {
   12120           18 :                 switch (TREE_CODE (_p2))
   12121              :                   {
   12122            0 :                   case NEGATE_EXPR:
   12123            0 :                     {
   12124            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12125            0 :                       {
   12126            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12127            0 :                         const enum tree_code cmp = EQ_EXPR;
   12128            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12129            0 :  && bitwise_equal_p (captures[0], captures[2])
   12130              : )
   12131              :                           {
   12132            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1886;
   12133            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1886;
   12134            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1886;
   12135            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
   12136            0 :                             {
   12137            0 :                               tree _r;
   12138            0 :                               _r = captures[1];
   12139            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   12140            0 :                               return _r;
   12141              :                             }
   12142            0 : next_after_fail1886:;
   12143              :                           }
   12144              :                       }
   12145            0 :                       break;
   12146              :                     }
   12147              :                   default:;
   12148              :                   }
   12149              :               }
   12150              :           }
   12151        66969 :         switch (TREE_CODE (_q20))
   12152              :           {
   12153            0 :           case MINUS_EXPR:
   12154            0 :             {
   12155            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12156            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12157            0 :               if (zerop (_q21))
   12158              :                 {
   12159            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12160              :                     {
   12161            0 :                       switch (TREE_CODE (_p2))
   12162              :                         {
   12163            0 :                         case MINUS_EXPR:
   12164            0 :                           {
   12165            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12166            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12167            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12168              :                               {
   12169            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12170              :                                   {
   12171            0 :                                     {
   12172            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12173            0 :                                       const enum tree_code cmp = EQ_EXPR;
   12174            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12175              : )
   12176              :                                         {
   12177            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1887;
   12178            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1887;
   12179            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
   12180            0 :                                           {
   12181            0 :                                             tree _r;
   12182            0 :                                             _r = captures[3];
   12183            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   12184            0 :                                             return _r;
   12185              :                                           }
   12186            0 : next_after_fail1887:;
   12187              :                                         }
   12188              :                                     }
   12189              :                                   }
   12190              :                               }
   12191              :                             break;
   12192              :                           }
   12193              :                         default:;
   12194              :                         }
   12195              :                     }
   12196              :                 }
   12197            0 :               if (integer_zerop (_q21))
   12198              :                 {
   12199            0 :                   if (integer_zerop (_p1))
   12200              :                     {
   12201            0 :                       switch (TREE_CODE (_p2))
   12202              :                         {
   12203            0 :                         case MINUS_EXPR:
   12204            0 :                           {
   12205            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12206            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12207            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12208              :                               {
   12209            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12210              :                                   {
   12211            0 :                                     {
   12212            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12213            0 :                                       tree res = generic_simplify_537 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   12214            0 :                                       if (res) return res;
   12215              :                                     }
   12216              :                                   }
   12217              :                               }
   12218              :                             break;
   12219              :                           }
   12220              :                         default:;
   12221              :                         }
   12222              :                     }
   12223              :                 }
   12224              :               break;
   12225              :             }
   12226              :           default:;
   12227              :           }
   12228              :         break;
   12229              :       }
   12230            0 :     case UNEQ_EXPR:
   12231            0 :       {
   12232            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12233            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12234            0 :         if (zerop (_q21))
   12235              :           {
   12236            0 :             switch (TREE_CODE (_p2))
   12237              :               {
   12238            0 :               case NEGATE_EXPR:
   12239            0 :                 {
   12240            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12241            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12242              :                     {
   12243            0 :                       {
   12244            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12245            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12246            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12247            0 :  && bitwise_equal_p (captures[0], captures[1])
   12248              : )
   12249              :                           {
   12250            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1888;
   12251            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1888;
   12252            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
   12253            0 :                             {
   12254            0 :                               tree _r;
   12255            0 :                               _r = captures[2];
   12256            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
   12257            0 :                               return _r;
   12258              :                             }
   12259            0 : next_after_fail1888:;
   12260              :                           }
   12261              :                       }
   12262              :                     }
   12263              :                   break;
   12264              :                 }
   12265            0 :               default:;
   12266              :               }
   12267            0 :             if (zerop (_p1))
   12268              :               {
   12269            0 :                 switch (TREE_CODE (_p2))
   12270              :                   {
   12271            0 :                   case NEGATE_EXPR:
   12272            0 :                     {
   12273            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12274            0 :                       {
   12275            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12276            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   12277            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12278            0 :  && bitwise_equal_p (captures[0], captures[2])
   12279              : )
   12280              :                           {
   12281            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1889;
   12282            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1889;
   12283            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1889;
   12284            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
   12285            0 :                             {
   12286            0 :                               tree _r;
   12287            0 :                               _r = captures[1];
   12288            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   12289            0 :                               return _r;
   12290              :                             }
   12291            0 : next_after_fail1889:;
   12292              :                           }
   12293              :                       }
   12294            0 :                       break;
   12295              :                     }
   12296              :                   default:;
   12297              :                   }
   12298              :               }
   12299              :           }
   12300            0 :         switch (TREE_CODE (_q20))
   12301              :           {
   12302            0 :           case MINUS_EXPR:
   12303            0 :             {
   12304            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12305            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12306            0 :               if (zerop (_q21))
   12307              :                 {
   12308            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12309              :                     {
   12310            0 :                       switch (TREE_CODE (_p2))
   12311              :                         {
   12312            0 :                         case MINUS_EXPR:
   12313            0 :                           {
   12314            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12315            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12316            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12317              :                               {
   12318            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12319              :                                   {
   12320            0 :                                     {
   12321            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12322            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   12323            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12324              : )
   12325              :                                         {
   12326            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1890;
   12327            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1890;
   12328            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
   12329            0 :                                           {
   12330            0 :                                             tree _r;
   12331            0 :                                             _r = captures[3];
   12332            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   12333            0 :                                             return _r;
   12334              :                                           }
   12335            0 : next_after_fail1890:;
   12336              :                                         }
   12337              :                                     }
   12338              :                                   }
   12339              :                               }
   12340              :                             break;
   12341              :                           }
   12342              :                         default:;
   12343              :                         }
   12344              :                     }
   12345              :                 }
   12346            0 :               if (integer_zerop (_q21))
   12347              :                 {
   12348            0 :                   if (integer_zerop (_p1))
   12349              :                     {
   12350            0 :                       switch (TREE_CODE (_p2))
   12351              :                         {
   12352            0 :                         case MINUS_EXPR:
   12353            0 :                           {
   12354            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12355            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12356            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12357              :                               {
   12358            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12359              :                                   {
   12360            0 :                                     {
   12361            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12362            0 :                                       tree res = generic_simplify_537 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   12363            0 :                                       if (res) return res;
   12364              :                                     }
   12365              :                                   }
   12366              :                               }
   12367              :                             break;
   12368              :                           }
   12369              :                         default:;
   12370              :                         }
   12371              :                     }
   12372              :                 }
   12373              :               break;
   12374              :             }
   12375              :           default:;
   12376              :           }
   12377              :         break;
   12378              :       }
   12379         1260 :     case NE_EXPR:
   12380         1260 :       {
   12381         1260 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12382         1260 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12383         1260 :         if (zerop (_q21))
   12384              :           {
   12385          336 :             switch (TREE_CODE (_p2))
   12386              :               {
   12387            0 :               case NEGATE_EXPR:
   12388            0 :                 {
   12389            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12390            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12391              :                     {
   12392            0 :                       {
   12393            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12394            0 :                         const enum tree_code cmp = NE_EXPR;
   12395            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12396            0 :  && bitwise_equal_p (captures[0], captures[1])
   12397              : )
   12398              :                           {
   12399            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1891;
   12400            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
   12401            0 :                             {
   12402            0 :                               tree _r;
   12403            0 :                               _r = captures[1];
   12404            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   12405            0 :                               return _r;
   12406              :                             }
   12407            0 : next_after_fail1891:;
   12408              :                           }
   12409              :                       }
   12410              :                     }
   12411              :                   break;
   12412              :                 }
   12413          336 :               default:;
   12414              :               }
   12415          336 :           if (integer_zerop (_p2))
   12416              :             {
   12417          190 :               {
   12418          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12419          190 :                 const enum tree_code cmp = NE_EXPR;
   12420          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   12421          190 :  && bitwise_equal_p (captures[0], captures[1])
   12422              : )
   12423              :                   {
   12424            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1892;
   12425            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1892;
   12426            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
   12427            0 :                     {
   12428            0 :                       tree _r;
   12429            0 :                       _r = captures[1];
   12430            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   12431            0 :                       return _r;
   12432              :                     }
   12433          190 : next_after_fail1892:;
   12434              :                   }
   12435              :               }
   12436              :             }
   12437              :           }
   12438         1260 :         switch (TREE_CODE (_q20))
   12439              :           {
   12440           40 :           case MINUS_EXPR:
   12441           40 :             {
   12442           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12443           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12444           40 :               if (zerop (_q21))
   12445              :                 {
   12446            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12447              :                     {
   12448            0 :                       switch (TREE_CODE (_p2))
   12449              :                         {
   12450            0 :                         case MINUS_EXPR:
   12451            0 :                           {
   12452            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12453            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12454            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12455              :                               {
   12456            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12457              :                                   {
   12458            0 :                                     {
   12459            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12460            0 :                                       const enum tree_code cmp = NE_EXPR;
   12461            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12462              : )
   12463              :                                         {
   12464            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1893;
   12465            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1893;
   12466            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
   12467            0 :                                           {
   12468            0 :                                             tree _r;
   12469            0 :                                             _r = captures[0];
   12470            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   12471            0 :                                             return _r;
   12472              :                                           }
   12473            0 : next_after_fail1893:;
   12474              :                                         }
   12475              :                                     }
   12476              :                                   }
   12477              :                               }
   12478              :                             break;
   12479              :                           }
   12480              :                         default:;
   12481              :                         }
   12482              :                     }
   12483              :                 }
   12484           40 :               if (integer_zerop (_q21))
   12485              :                 {
   12486            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12487              :                     {
   12488            0 :                       if (integer_zerop (_p2))
   12489              :                         {
   12490            0 :                           {
   12491            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12492            0 :                             tree res = generic_simplify_538 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   12493            0 :                             if (res) return res;
   12494              :                           }
   12495              :                         }
   12496              :                     }
   12497              :                 }
   12498              :               break;
   12499              :             }
   12500              :           default:;
   12501              :           }
   12502              :         break;
   12503              :       }
   12504            0 :     case LTGT_EXPR:
   12505            0 :       {
   12506            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12507            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12508            0 :         if (zerop (_q21))
   12509              :           {
   12510            0 :             switch (TREE_CODE (_p2))
   12511              :               {
   12512            0 :               case NEGATE_EXPR:
   12513            0 :                 {
   12514            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12515            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12516              :                     {
   12517            0 :                       {
   12518            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12519            0 :                         const enum tree_code cmp = LTGT_EXPR;
   12520            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12521            0 :  && bitwise_equal_p (captures[0], captures[1])
   12522              : )
   12523              :                           {
   12524            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1894;
   12525            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
   12526            0 :                             {
   12527            0 :                               tree _r;
   12528            0 :                               _r = captures[1];
   12529            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   12530            0 :                               return _r;
   12531              :                             }
   12532            0 : next_after_fail1894:;
   12533              :                           }
   12534              :                       }
   12535              :                     }
   12536              :                   break;
   12537              :                 }
   12538            0 :               default:;
   12539              :               }
   12540            0 :           if (integer_zerop (_p2))
   12541              :             {
   12542            0 :               {
   12543            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   12544            0 :                 const enum tree_code cmp = LTGT_EXPR;
   12545            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   12546            0 :  && bitwise_equal_p (captures[0], captures[1])
   12547              : )
   12548              :                   {
   12549            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1895;
   12550            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1895;
   12551            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
   12552            0 :                     {
   12553            0 :                       tree _r;
   12554            0 :                       _r = captures[1];
   12555            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   12556            0 :                       return _r;
   12557              :                     }
   12558            0 : next_after_fail1895:;
   12559              :                   }
   12560              :               }
   12561              :             }
   12562              :           }
   12563            0 :         switch (TREE_CODE (_q20))
   12564              :           {
   12565            0 :           case MINUS_EXPR:
   12566            0 :             {
   12567            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12568            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12569            0 :               if (zerop (_q21))
   12570              :                 {
   12571            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12572              :                     {
   12573            0 :                       switch (TREE_CODE (_p2))
   12574              :                         {
   12575            0 :                         case MINUS_EXPR:
   12576            0 :                           {
   12577            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12578            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12579            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12580              :                               {
   12581            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12582              :                                   {
   12583            0 :                                     {
   12584            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12585            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   12586            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12587              : )
   12588              :                                         {
   12589            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1896;
   12590            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1896;
   12591            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
   12592            0 :                                           {
   12593            0 :                                             tree _r;
   12594            0 :                                             _r = captures[0];
   12595            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   12596            0 :                                             return _r;
   12597              :                                           }
   12598            0 : next_after_fail1896:;
   12599              :                                         }
   12600              :                                     }
   12601              :                                   }
   12602              :                               }
   12603              :                             break;
   12604              :                           }
   12605              :                         default:;
   12606              :                         }
   12607              :                     }
   12608              :                 }
   12609            0 :               if (integer_zerop (_q21))
   12610              :                 {
   12611            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12612              :                     {
   12613            0 :                       if (integer_zerop (_p2))
   12614              :                         {
   12615            0 :                           {
   12616            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12617            0 :                             tree res = generic_simplify_538 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   12618            0 :                             if (res) return res;
   12619              :                           }
   12620              :                         }
   12621              :                     }
   12622              :                 }
   12623              :               break;
   12624              :             }
   12625              :           default:;
   12626              :           }
   12627              :         break;
   12628              :       }
   12629         1179 :     case GE_EXPR:
   12630         1179 :       {
   12631         1179 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12632         1179 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12633         1179 :         switch (TREE_CODE (_q20))
   12634              :           {
   12635            3 :           CASE_CONVERT:
   12636            3 :             {
   12637            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12638            3 :               if (zerop (_q21))
   12639              :                 {
   12640            0 :                   switch (TREE_CODE (_p2))
   12641              :                     {
   12642            0 :                     case NEGATE_EXPR:
   12643            0 :                       {
   12644            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12645            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12646              :                           {
   12647            0 :                             {
   12648            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12649            0 :                               const enum tree_code cmp = GE_EXPR;
   12650            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12651            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12652            0 :  && element_precision (captures[1])
   12653            0 :  <= element_precision (captures[0])
   12654            0 :  && bitwise_equal_p (captures[1], captures[2])
   12655            0 :  && (!VECTOR_TYPE_P (type)
   12656            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12657              : )
   12658              :                                 {
   12659            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12660              : )
   12661              :                                     {
   12662            0 :                                       {
   12663            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12664            0 :                                           if (types_match (captures[0], stype)
   12665              : )
   12666              :                                             {
   12667            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1897;
   12668            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   12669            0 :                                               {
   12670            0 :                                                 tree res_op0;
   12671            0 :                                                 res_op0 = captures[0];
   12672            0 :                                                 tree _r;
   12673            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12674            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12675            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12676            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12677            0 :                                                 return _r;
   12678              :                                               }
   12679            0 : next_after_fail1897:;
   12680              :                                             }
   12681              :                                           else
   12682              :                                             {
   12683            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1898;
   12684            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   12685            0 :                                               {
   12686            0 :                                                 tree res_op0;
   12687            0 :                                                 {
   12688            0 :                                                   tree _o1[1], _r1;
   12689            0 :                                                   _o1[0] = captures[2];
   12690            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12691              :                                                     {
   12692            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12693              :                                                     }
   12694              :                                                   else
   12695              :                                                     _r1 = _o1[0];
   12696            0 :                                                   res_op0 = _r1;
   12697              :                                                 }
   12698            0 :                                                 tree _r;
   12699            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12700            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12701            0 :                                                 return _r;
   12702              :                                               }
   12703            0 : next_after_fail1898:;
   12704              :                                             }
   12705              :                                       }
   12706              :                                     }
   12707              :                                   else
   12708              :                                     {
   12709            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1899;
   12710            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   12711            0 :                                       {
   12712            0 :                                         tree res_op0;
   12713            0 :                                         res_op0 = captures[2];
   12714            0 :                                         tree _r;
   12715            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12716            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12717            0 :                                         return _r;
   12718              :                                       }
   12719            0 : next_after_fail1899:;
   12720              :                                     }
   12721              :                                 }
   12722              :                             }
   12723              :                           }
   12724              :                         break;
   12725              :                       }
   12726              :                     default:;
   12727              :                     }
   12728              :                 }
   12729              :               break;
   12730              :             }
   12731         1179 :           default:;
   12732              :           }
   12733         1179 :         if (zerop (_q21))
   12734              :           {
   12735          334 :             switch (TREE_CODE (_p2))
   12736              :               {
   12737            3 :               case NEGATE_EXPR:
   12738            3 :                 {
   12739            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12740            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12741              :                     {
   12742            3 :                       {
   12743            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12744            3 :                         const enum tree_code cmp = GE_EXPR;
   12745            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12746            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12747            6 :  && element_precision (captures[1])
   12748            3 :  <= element_precision (captures[0])
   12749            3 :  && bitwise_equal_p (captures[1], captures[2])
   12750            6 :  && (!VECTOR_TYPE_P (type)
   12751            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12752              : )
   12753              :                           {
   12754            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12755              : )
   12756              :                               {
   12757            0 :                                 {
   12758            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12759            0 :                                     if (types_match (captures[0], stype)
   12760              : )
   12761              :                                       {
   12762            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1900;
   12763            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   12764            0 :                                         {
   12765            0 :                                           tree res_op0;
   12766            0 :                                           res_op0 = captures[0];
   12767            0 :                                           tree _r;
   12768            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12769            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12770            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12771            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12772            0 :                                           return _r;
   12773              :                                         }
   12774            0 : next_after_fail1900:;
   12775              :                                       }
   12776              :                                     else
   12777              :                                       {
   12778            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1901;
   12779            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   12780            0 :                                         {
   12781            0 :                                           tree res_op0;
   12782            0 :                                           {
   12783            0 :                                             tree _o1[1], _r1;
   12784            0 :                                             _o1[0] = captures[2];
   12785            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12786              :                                               {
   12787            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12788              :                                               }
   12789              :                                             else
   12790              :                                               _r1 = _o1[0];
   12791            0 :                                             res_op0 = _r1;
   12792              :                                           }
   12793            0 :                                           tree _r;
   12794            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12795            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12796            0 :                                           return _r;
   12797              :                                         }
   12798            0 : next_after_fail1901:;
   12799              :                                       }
   12800              :                                 }
   12801              :                               }
   12802              :                             else
   12803              :                               {
   12804            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1902;
   12805            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   12806            3 :                                 {
   12807            3 :                                   tree res_op0;
   12808            3 :                                   res_op0 = captures[2];
   12809            3 :                                   tree _r;
   12810            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12811            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12812            3 :                                   return _r;
   12813              :                                 }
   12814            0 : next_after_fail1902:;
   12815              :                               }
   12816              :                           }
   12817              :                       }
   12818              :                     }
   12819              :                   break;
   12820              :                 }
   12821              :               default:;
   12822              :               }
   12823              :           }
   12824         1176 :         switch (TREE_CODE (_q20))
   12825              :           {
   12826            0 :           case MINUS_EXPR:
   12827            0 :             {
   12828            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12829            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12830            0 :               if (zerop (_q21))
   12831              :                 {
   12832            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12833              :                     {
   12834            0 :                       switch (TREE_CODE (_p2))
   12835              :                         {
   12836            0 :                         case MINUS_EXPR:
   12837            0 :                           {
   12838            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12839            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12840            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12841              :                               {
   12842            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12843              :                                   {
   12844            0 :                                     {
   12845            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12846            0 :                                       const enum tree_code cmp = GE_EXPR;
   12847            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12848            0 :  && !TYPE_UNSIGNED (type)
   12849            0 :  && (!VECTOR_TYPE_P (type)
   12850            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12851              : )
   12852              :                                         {
   12853            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1903;
   12854            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   12855            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   12856            0 :                                           {
   12857            0 :                                             tree res_op0;
   12858            0 :                                             res_op0 = captures[0];
   12859            0 :                                             tree _r;
   12860            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12861            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   12862            0 :                                             return _r;
   12863              :                                           }
   12864            0 : next_after_fail1903:;
   12865              :                                         }
   12866              :                                     }
   12867              :                                   }
   12868              :                               }
   12869              :                             break;
   12870              :                           }
   12871              :                         default:;
   12872              :                         }
   12873              :                     }
   12874              :                 }
   12875              :               break;
   12876              :             }
   12877              :           default:;
   12878              :           }
   12879              :         break;
   12880              :       }
   12881        66391 :     case GT_EXPR:
   12882        66391 :       {
   12883        66391 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12884        66391 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12885        66391 :         switch (TREE_CODE (_q20))
   12886              :           {
   12887           13 :           CASE_CONVERT:
   12888           13 :             {
   12889           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12890           13 :               if (zerop (_q21))
   12891              :                 {
   12892            1 :                   switch (TREE_CODE (_p2))
   12893              :                     {
   12894            0 :                     case NEGATE_EXPR:
   12895            0 :                       {
   12896            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12897            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12898              :                           {
   12899            0 :                             {
   12900            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12901            0 :                               const enum tree_code cmp = GT_EXPR;
   12902            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12903            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12904            0 :  && element_precision (captures[1])
   12905            0 :  <= element_precision (captures[0])
   12906            0 :  && bitwise_equal_p (captures[1], captures[2])
   12907            0 :  && (!VECTOR_TYPE_P (type)
   12908            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   12909              : )
   12910              :                                 {
   12911            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12912              : )
   12913              :                                     {
   12914            0 :                                       {
   12915            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12916            0 :                                           if (types_match (captures[0], stype)
   12917              : )
   12918              :                                             {
   12919            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1904;
   12920            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   12921            0 :                                               {
   12922            0 :                                                 tree res_op0;
   12923            0 :                                                 res_op0 = captures[0];
   12924            0 :                                                 tree _r;
   12925            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12926            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12927            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12928            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12929            0 :                                                 return _r;
   12930              :                                               }
   12931            0 : next_after_fail1904:;
   12932              :                                             }
   12933              :                                           else
   12934              :                                             {
   12935            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1905;
   12936            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   12937            0 :                                               {
   12938            0 :                                                 tree res_op0;
   12939            0 :                                                 {
   12940            0 :                                                   tree _o1[1], _r1;
   12941            0 :                                                   _o1[0] = captures[2];
   12942            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12943              :                                                     {
   12944            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12945              :                                                     }
   12946              :                                                   else
   12947              :                                                     _r1 = _o1[0];
   12948            0 :                                                   res_op0 = _r1;
   12949              :                                                 }
   12950            0 :                                                 tree _r;
   12951            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12952            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12953            0 :                                                 return _r;
   12954              :                                               }
   12955            0 : next_after_fail1905:;
   12956              :                                             }
   12957              :                                       }
   12958              :                                     }
   12959              :                                   else
   12960              :                                     {
   12961            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1906;
   12962            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   12963            0 :                                       {
   12964            0 :                                         tree res_op0;
   12965            0 :                                         res_op0 = captures[2];
   12966            0 :                                         tree _r;
   12967            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12968            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12969            0 :                                         return _r;
   12970              :                                       }
   12971            0 : next_after_fail1906:;
   12972              :                                     }
   12973              :                                 }
   12974              :                             }
   12975              :                           }
   12976              :                         break;
   12977              :                       }
   12978              :                     default:;
   12979              :                     }
   12980              :                 }
   12981              :               break;
   12982              :             }
   12983        66391 :           default:;
   12984              :           }
   12985        66391 :         if (zerop (_q21))
   12986              :           {
   12987           84 :             switch (TREE_CODE (_p2))
   12988              :               {
   12989            6 :               case NEGATE_EXPR:
   12990            6 :                 {
   12991            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12992            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12993              :                     {
   12994            6 :                       {
   12995            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12996            6 :                         const enum tree_code cmp = GT_EXPR;
   12997            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12998            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12999           12 :  && element_precision (captures[1])
   13000            6 :  <= element_precision (captures[0])
   13001            6 :  && bitwise_equal_p (captures[1], captures[2])
   13002           12 :  && (!VECTOR_TYPE_P (type)
   13003            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13004              : )
   13005              :                           {
   13006            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13007              : )
   13008              :                               {
   13009            0 :                                 {
   13010            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13011            0 :                                     if (types_match (captures[0], stype)
   13012              : )
   13013              :                                       {
   13014            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1907;
   13015            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   13016            0 :                                         {
   13017            0 :                                           tree res_op0;
   13018            0 :                                           res_op0 = captures[0];
   13019            0 :                                           tree _r;
   13020            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13021            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13022            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13023            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   13024            0 :                                           return _r;
   13025              :                                         }
   13026            0 : next_after_fail1907:;
   13027              :                                       }
   13028              :                                     else
   13029              :                                       {
   13030            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1908;
   13031            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   13032            0 :                                         {
   13033            0 :                                           tree res_op0;
   13034            0 :                                           {
   13035            0 :                                             tree _o1[1], _r1;
   13036            0 :                                             _o1[0] = captures[2];
   13037            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13038              :                                               {
   13039            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13040              :                                               }
   13041              :                                             else
   13042              :                                               _r1 = _o1[0];
   13043            0 :                                             res_op0 = _r1;
   13044              :                                           }
   13045            0 :                                           tree _r;
   13046            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13047            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   13048            0 :                                           return _r;
   13049              :                                         }
   13050            0 : next_after_fail1908:;
   13051              :                                       }
   13052              :                                 }
   13053              :                               }
   13054              :                             else
   13055              :                               {
   13056            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   13057            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   13058            6 :                                 {
   13059            6 :                                   tree res_op0;
   13060            6 :                                   res_op0 = captures[2];
   13061            6 :                                   tree _r;
   13062            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13063            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   13064            6 :                                   return _r;
   13065              :                                 }
   13066            0 : next_after_fail1909:;
   13067              :                               }
   13068              :                           }
   13069              :                       }
   13070              :                     }
   13071              :                   break;
   13072              :                 }
   13073              :               default:;
   13074              :               }
   13075              :           }
   13076        66385 :         switch (TREE_CODE (_q20))
   13077              :           {
   13078            0 :           case MINUS_EXPR:
   13079            0 :             {
   13080            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13081            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13082            0 :               if (zerop (_q21))
   13083              :                 {
   13084            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13085              :                     {
   13086            0 :                       switch (TREE_CODE (_p2))
   13087              :                         {
   13088            0 :                         case MINUS_EXPR:
   13089            0 :                           {
   13090            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13091            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13092            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13093              :                               {
   13094            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13095              :                                   {
   13096            0 :                                     {
   13097            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13098            0 :                                       const enum tree_code cmp = GT_EXPR;
   13099            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13100            0 :  && !TYPE_UNSIGNED (type)
   13101            0 :  && (!VECTOR_TYPE_P (type)
   13102            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13103              : )
   13104              :                                         {
   13105            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   13106            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1910;
   13107            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   13108            0 :                                           {
   13109            0 :                                             tree res_op0;
   13110            0 :                                             res_op0 = captures[0];
   13111            0 :                                             tree _r;
   13112            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13113            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   13114            0 :                                             return _r;
   13115              :                                           }
   13116            0 : next_after_fail1910:;
   13117              :                                         }
   13118              :                                     }
   13119              :                                   }
   13120              :                               }
   13121              :                             break;
   13122              :                           }
   13123              :                         default:;
   13124              :                         }
   13125              :                     }
   13126              :                 }
   13127              :               break;
   13128              :             }
   13129              :           default:;
   13130              :           }
   13131              :         break;
   13132              :       }
   13133          966 :     case LE_EXPR:
   13134          966 :       {
   13135          966 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13136          966 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13137          966 :         switch (TREE_CODE (_q20))
   13138              :           {
   13139           62 :           CASE_CONVERT:
   13140           62 :             {
   13141           62 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13142           62 :               if (zerop (_q21))
   13143              :                 {
   13144            0 :                   switch (TREE_CODE (_p2))
   13145              :                     {
   13146            0 :                     case NEGATE_EXPR:
   13147            0 :                       {
   13148            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13149            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13150              :                           {
   13151            0 :                             {
   13152            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13153            0 :                               const enum tree_code cmp = LE_EXPR;
   13154            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13155            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13156            0 :  && element_precision (captures[1])
   13157            0 :  <= element_precision (captures[0])
   13158            0 :  && bitwise_equal_p (captures[1], captures[2])
   13159            0 :  && (!VECTOR_TYPE_P (type)
   13160            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13161            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13162              : )
   13163              :                                 {
   13164            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13165            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13166            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13167              : )
   13168              :                                     {
   13169            0 :                                       {
   13170            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13171            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13172            0 :                                           if (types_match (captures[0], stype)
   13173              : )
   13174              :                                             {
   13175            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   13176            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   13177            0 :                                               {
   13178            0 :                                                 tree res_op0;
   13179            0 :                                                 {
   13180            0 :                                                   tree _o1[1], _r1;
   13181            0 :                                                   {
   13182            0 :                                                     tree _o2[1], _r2;
   13183            0 :                                                     _o2[0] = captures[0];
   13184            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13185            0 :                                                     _o1[0] = _r2;
   13186              :                                                   }
   13187            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13188            0 :                                                   res_op0 = _r1;
   13189              :                                                 }
   13190            0 :                                                 tree _r;
   13191            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13192            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13193            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13194            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13195            0 :                                                 return _r;
   13196              :                                               }
   13197            0 : next_after_fail1911:;
   13198              :                                             }
   13199              :                                           else
   13200              :                                             {
   13201            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   13202            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   13203            0 :                                               {
   13204            0 :                                                 tree res_op0;
   13205            0 :                                                 {
   13206            0 :                                                   tree _o1[1], _r1;
   13207            0 :                                                   {
   13208            0 :                                                     tree _o2[1], _r2;
   13209            0 :                                                     {
   13210            0 :                                                       tree _o3[1], _r3;
   13211            0 :                                                       _o3[0] = captures[2];
   13212            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13213              :                                                         {
   13214            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13215              :                                                         }
   13216              :                                                       else
   13217              :                                                         _r3 = _o3[0];
   13218            0 :                                                       _o2[0] = _r3;
   13219              :                                                     }
   13220            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13221            0 :                                                     _o1[0] = _r2;
   13222              :                                                   }
   13223            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13224            0 :                                                   res_op0 = _r1;
   13225              :                                                 }
   13226            0 :                                                 tree _r;
   13227            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13228            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13229            0 :                                                 return _r;
   13230              :                                               }
   13231            0 : next_after_fail1912:;
   13232              :                                             }
   13233              :                                       }
   13234              :                                     }
   13235              :                                   else
   13236              :                                     {
   13237            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   13238            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   13239            0 :                                       {
   13240            0 :                                         tree res_op0;
   13241            0 :                                         {
   13242            0 :                                           tree _o1[1], _r1;
   13243            0 :                                           {
   13244            0 :                                             tree _o2[1], _r2;
   13245            0 :                                             _o2[0] = captures[2];
   13246            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13247            0 :                                             _o1[0] = _r2;
   13248              :                                           }
   13249            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13250            0 :                                           res_op0 = _r1;
   13251              :                                         }
   13252            0 :                                         tree _r;
   13253            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13254            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13255            0 :                                         return _r;
   13256              :                                       }
   13257            0 : next_after_fail1913:;
   13258              :                                     }
   13259              :                                 }
   13260              :                             }
   13261              :                           }
   13262              :                         break;
   13263              :                       }
   13264              :                     default:;
   13265              :                     }
   13266              :                 }
   13267              :               break;
   13268              :             }
   13269          966 :           default:;
   13270              :           }
   13271          966 :         if (zerop (_q21))
   13272              :           {
   13273           18 :             switch (TREE_CODE (_p2))
   13274              :               {
   13275            0 :               case NEGATE_EXPR:
   13276            0 :                 {
   13277            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13278            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13279              :                     {
   13280            0 :                       {
   13281            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13282            0 :                         const enum tree_code cmp = LE_EXPR;
   13283            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13284            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13285            0 :  && element_precision (captures[1])
   13286            0 :  <= element_precision (captures[0])
   13287            0 :  && bitwise_equal_p (captures[1], captures[2])
   13288            0 :  && (!VECTOR_TYPE_P (type)
   13289            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13290            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13291              : )
   13292              :                           {
   13293            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13294            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13295            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13296              : )
   13297              :                               {
   13298            0 :                                 {
   13299            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13300            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13301            0 :                                     if (types_match (captures[0], stype)
   13302              : )
   13303              :                                       {
   13304            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   13305            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   13306            0 :                                         {
   13307            0 :                                           tree res_op0;
   13308            0 :                                           {
   13309            0 :                                             tree _o1[1], _r1;
   13310            0 :                                             {
   13311            0 :                                               tree _o2[1], _r2;
   13312            0 :                                               _o2[0] = captures[0];
   13313            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13314            0 :                                               _o1[0] = _r2;
   13315              :                                             }
   13316            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13317            0 :                                             res_op0 = _r1;
   13318              :                                           }
   13319            0 :                                           tree _r;
   13320            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13321            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13322            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13323            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13324            0 :                                           return _r;
   13325              :                                         }
   13326            0 : next_after_fail1914:;
   13327              :                                       }
   13328              :                                     else
   13329              :                                       {
   13330            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   13331            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   13332            0 :                                         {
   13333            0 :                                           tree res_op0;
   13334            0 :                                           {
   13335            0 :                                             tree _o1[1], _r1;
   13336            0 :                                             {
   13337            0 :                                               tree _o2[1], _r2;
   13338            0 :                                               {
   13339            0 :                                                 tree _o3[1], _r3;
   13340            0 :                                                 _o3[0] = captures[2];
   13341            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13342              :                                                   {
   13343            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13344              :                                                   }
   13345              :                                                 else
   13346              :                                                   _r3 = _o3[0];
   13347            0 :                                                 _o2[0] = _r3;
   13348              :                                               }
   13349            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13350            0 :                                               _o1[0] = _r2;
   13351              :                                             }
   13352            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13353            0 :                                             res_op0 = _r1;
   13354              :                                           }
   13355            0 :                                           tree _r;
   13356            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13357            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13358            0 :                                           return _r;
   13359              :                                         }
   13360            0 : next_after_fail1915:;
   13361              :                                       }
   13362              :                                 }
   13363              :                               }
   13364              :                             else
   13365              :                               {
   13366            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   13367            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   13368            0 :                                 {
   13369            0 :                                   tree res_op0;
   13370            0 :                                   {
   13371            0 :                                     tree _o1[1], _r1;
   13372            0 :                                     {
   13373            0 :                                       tree _o2[1], _r2;
   13374            0 :                                       _o2[0] = captures[2];
   13375            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13376            0 :                                       _o1[0] = _r2;
   13377              :                                     }
   13378            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13379            0 :                                     res_op0 = _r1;
   13380              :                                   }
   13381            0 :                                   tree _r;
   13382            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13383            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13384            0 :                                   return _r;
   13385              :                                 }
   13386            0 : next_after_fail1916:;
   13387              :                               }
   13388              :                           }
   13389              :                       }
   13390              :                     }
   13391              :                   break;
   13392              :                 }
   13393              :               default:;
   13394              :               }
   13395              :           }
   13396          966 :         switch (TREE_CODE (_q20))
   13397              :           {
   13398            0 :           case MINUS_EXPR:
   13399            0 :             {
   13400            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13401            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13402            0 :               if (zerop (_q21))
   13403              :                 {
   13404            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13405              :                     {
   13406            0 :                       switch (TREE_CODE (_p2))
   13407              :                         {
   13408            0 :                         case MINUS_EXPR:
   13409            0 :                           {
   13410            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13411            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13412            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13413              :                               {
   13414            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13415              :                                   {
   13416            0 :                                     {
   13417            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13418            0 :                                       const enum tree_code cmp = LE_EXPR;
   13419            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13420            0 :  && !TYPE_UNSIGNED (type)
   13421              : )
   13422              :                                         {
   13423            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13424            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13425            0 :  && (!VECTOR_TYPE_P (type)
   13426            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13427            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13428              : )
   13429              :                                             {
   13430            0 :                                               {
   13431            0 :  tree utype = unsigned_type_for (type);
   13432            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   13433            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   13434            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   13435            0 :                                                   {
   13436            0 :                                                     tree res_op0;
   13437            0 :                                                     {
   13438            0 :                                                       tree _o1[1], _r1;
   13439            0 :                                                       {
   13440            0 :                                                         tree _o2[1], _r2;
   13441            0 :                                                         _o2[0] = captures[0];
   13442            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13443            0 :                                                         _o1[0] = _r2;
   13444              :                                                       }
   13445            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13446            0 :                                                       res_op0 = _r1;
   13447              :                                                     }
   13448            0 :                                                     tree _r;
   13449            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13450            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   13451            0 :                                                     return _r;
   13452              :                                                   }
   13453            0 : next_after_fail1917:;
   13454              :                                               }
   13455              :                                             }
   13456              :                                           else
   13457              :                                             {
   13458            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   13459            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1918;
   13460            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   13461            0 :                                               {
   13462            0 :                                                 tree res_op0;
   13463            0 :                                                 {
   13464            0 :                                                   tree _o1[1], _r1;
   13465            0 :                                                   _o1[0] = captures[0];
   13466            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13467            0 :                                                   res_op0 = _r1;
   13468              :                                                 }
   13469            0 :                                                 tree _r;
   13470            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13471            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   13472            0 :                                                 return _r;
   13473              :                                               }
   13474            0 : next_after_fail1918:;
   13475              :                                             }
   13476              :                                         }
   13477              :                                     }
   13478              :                                   }
   13479              :                               }
   13480              :                             break;
   13481              :                           }
   13482              :                         default:;
   13483              :                         }
   13484              :                     }
   13485              :                 }
   13486              :               break;
   13487              :             }
   13488              :           default:;
   13489              :           }
   13490              :         break;
   13491              :       }
   13492        20782 :     case LT_EXPR:
   13493        20782 :       {
   13494        20782 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13495        20782 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13496        20782 :         switch (TREE_CODE (_q20))
   13497              :           {
   13498          162 :           CASE_CONVERT:
   13499          162 :             {
   13500          162 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13501          162 :               if (zerop (_q21))
   13502              :                 {
   13503           83 :                   switch (TREE_CODE (_p2))
   13504              :                     {
   13505            0 :                     case NEGATE_EXPR:
   13506            0 :                       {
   13507            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13508            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13509              :                           {
   13510            0 :                             {
   13511            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13512            0 :                               const enum tree_code cmp = LT_EXPR;
   13513            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13514            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13515            0 :  && element_precision (captures[1])
   13516            0 :  <= element_precision (captures[0])
   13517            0 :  && bitwise_equal_p (captures[1], captures[2])
   13518            0 :  && (!VECTOR_TYPE_P (type)
   13519            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13520            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13521              : )
   13522              :                                 {
   13523            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13524            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13525            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13526              : )
   13527              :                                     {
   13528            0 :                                       {
   13529            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13530            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13531            0 :                                           if (types_match (captures[0], stype)
   13532              : )
   13533              :                                             {
   13534            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   13535            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   13536            0 :                                               {
   13537            0 :                                                 tree res_op0;
   13538            0 :                                                 {
   13539            0 :                                                   tree _o1[1], _r1;
   13540            0 :                                                   {
   13541            0 :                                                     tree _o2[1], _r2;
   13542            0 :                                                     _o2[0] = captures[0];
   13543            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13544            0 :                                                     _o1[0] = _r2;
   13545              :                                                   }
   13546            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13547            0 :                                                   res_op0 = _r1;
   13548              :                                                 }
   13549            0 :                                                 tree _r;
   13550            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13551            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13552            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13553            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13554            0 :                                                 return _r;
   13555              :                                               }
   13556            0 : next_after_fail1919:;
   13557              :                                             }
   13558              :                                           else
   13559              :                                             {
   13560            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   13561            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   13562            0 :                                               {
   13563            0 :                                                 tree res_op0;
   13564            0 :                                                 {
   13565            0 :                                                   tree _o1[1], _r1;
   13566            0 :                                                   {
   13567            0 :                                                     tree _o2[1], _r2;
   13568            0 :                                                     {
   13569            0 :                                                       tree _o3[1], _r3;
   13570            0 :                                                       _o3[0] = captures[2];
   13571            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13572              :                                                         {
   13573            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13574              :                                                         }
   13575              :                                                       else
   13576              :                                                         _r3 = _o3[0];
   13577            0 :                                                       _o2[0] = _r3;
   13578              :                                                     }
   13579            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13580            0 :                                                     _o1[0] = _r2;
   13581              :                                                   }
   13582            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13583            0 :                                                   res_op0 = _r1;
   13584              :                                                 }
   13585            0 :                                                 tree _r;
   13586            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13587            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13588            0 :                                                 return _r;
   13589              :                                               }
   13590            0 : next_after_fail1920:;
   13591              :                                             }
   13592              :                                       }
   13593              :                                     }
   13594              :                                   else
   13595              :                                     {
   13596            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   13597            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   13598            0 :                                       {
   13599            0 :                                         tree res_op0;
   13600            0 :                                         {
   13601            0 :                                           tree _o1[1], _r1;
   13602            0 :                                           {
   13603            0 :                                             tree _o2[1], _r2;
   13604            0 :                                             _o2[0] = captures[2];
   13605            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13606            0 :                                             _o1[0] = _r2;
   13607              :                                           }
   13608            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13609            0 :                                           res_op0 = _r1;
   13610              :                                         }
   13611            0 :                                         tree _r;
   13612            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13613            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13614            0 :                                         return _r;
   13615              :                                       }
   13616            0 : next_after_fail1921:;
   13617              :                                     }
   13618              :                                 }
   13619              :                             }
   13620              :                           }
   13621              :                         break;
   13622              :                       }
   13623              :                     default:;
   13624              :                     }
   13625              :                 }
   13626              :               break;
   13627              :             }
   13628        20782 :           default:;
   13629              :           }
   13630        20782 :         if (zerop (_q21))
   13631              :           {
   13632          633 :             switch (TREE_CODE (_p2))
   13633              :               {
   13634           16 :               case NEGATE_EXPR:
   13635           16 :                 {
   13636           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13637           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13638              :                     {
   13639           16 :                       {
   13640           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13641           16 :                         const enum tree_code cmp = LT_EXPR;
   13642           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13643           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13644           32 :  && element_precision (captures[1])
   13645           16 :  <= element_precision (captures[0])
   13646           16 :  && bitwise_equal_p (captures[1], captures[2])
   13647           32 :  && (!VECTOR_TYPE_P (type)
   13648           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13649            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13650              : )
   13651              :                           {
   13652            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13653            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13654            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13655              : )
   13656              :                               {
   13657            0 :                                 {
   13658            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13659            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13660            0 :                                     if (types_match (captures[0], stype)
   13661              : )
   13662              :                                       {
   13663            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   13664            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   13665            0 :                                         {
   13666            0 :                                           tree res_op0;
   13667            0 :                                           {
   13668            0 :                                             tree _o1[1], _r1;
   13669            0 :                                             {
   13670            0 :                                               tree _o2[1], _r2;
   13671            0 :                                               _o2[0] = captures[0];
   13672            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13673            0 :                                               _o1[0] = _r2;
   13674              :                                             }
   13675            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13676            0 :                                             res_op0 = _r1;
   13677              :                                           }
   13678            0 :                                           tree _r;
   13679            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13680            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13681            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13682            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13683            0 :                                           return _r;
   13684              :                                         }
   13685           16 : next_after_fail1922:;
   13686              :                                       }
   13687              :                                     else
   13688              :                                       {
   13689            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   13690            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   13691            0 :                                         {
   13692            0 :                                           tree res_op0;
   13693            0 :                                           {
   13694            0 :                                             tree _o1[1], _r1;
   13695            0 :                                             {
   13696            0 :                                               tree _o2[1], _r2;
   13697            0 :                                               {
   13698            0 :                                                 tree _o3[1], _r3;
   13699            0 :                                                 _o3[0] = captures[2];
   13700            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13701              :                                                   {
   13702            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13703              :                                                   }
   13704              :                                                 else
   13705              :                                                   _r3 = _o3[0];
   13706            0 :                                                 _o2[0] = _r3;
   13707              :                                               }
   13708            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13709            0 :                                               _o1[0] = _r2;
   13710              :                                             }
   13711            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13712            0 :                                             res_op0 = _r1;
   13713              :                                           }
   13714            0 :                                           tree _r;
   13715            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13716            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13717            0 :                                           return _r;
   13718              :                                         }
   13719           16 : next_after_fail1923:;
   13720              :                                       }
   13721              :                                 }
   13722              :                               }
   13723              :                             else
   13724              :                               {
   13725            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   13726            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   13727            0 :                                 {
   13728            0 :                                   tree res_op0;
   13729            0 :                                   {
   13730            0 :                                     tree _o1[1], _r1;
   13731            0 :                                     {
   13732            0 :                                       tree _o2[1], _r2;
   13733            0 :                                       _o2[0] = captures[2];
   13734            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13735            0 :                                       _o1[0] = _r2;
   13736              :                                     }
   13737            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13738            0 :                                     res_op0 = _r1;
   13739              :                                   }
   13740            0 :                                   tree _r;
   13741            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13742            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13743            0 :                                   return _r;
   13744              :                                 }
   13745           16 : next_after_fail1924:;
   13746              :                               }
   13747              :                           }
   13748              :                       }
   13749              :                     }
   13750              :                   break;
   13751              :                 }
   13752              :               default:;
   13753              :               }
   13754              :           }
   13755        20782 :         switch (TREE_CODE (_q20))
   13756              :           {
   13757            0 :           case MINUS_EXPR:
   13758            0 :             {
   13759            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13760            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13761            0 :               if (zerop (_q21))
   13762              :                 {
   13763            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13764              :                     {
   13765            0 :                       switch (TREE_CODE (_p2))
   13766              :                         {
   13767            0 :                         case MINUS_EXPR:
   13768            0 :                           {
   13769            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13770            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13771            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13772              :                               {
   13773            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13774              :                                   {
   13775            0 :                                     {
   13776            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13777            0 :                                       const enum tree_code cmp = LT_EXPR;
   13778            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13779            0 :  && !TYPE_UNSIGNED (type)
   13780              : )
   13781              :                                         {
   13782            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13783            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13784            0 :  && (!VECTOR_TYPE_P (type)
   13785            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   13786            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   13787              : )
   13788              :                                             {
   13789            0 :                                               {
   13790            0 :  tree utype = unsigned_type_for (type);
   13791            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   13792            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1925;
   13793            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   13794            0 :                                                   {
   13795            0 :                                                     tree res_op0;
   13796            0 :                                                     {
   13797            0 :                                                       tree _o1[1], _r1;
   13798            0 :                                                       {
   13799            0 :                                                         tree _o2[1], _r2;
   13800            0 :                                                         _o2[0] = captures[0];
   13801            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13802            0 :                                                         _o1[0] = _r2;
   13803              :                                                       }
   13804            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13805            0 :                                                       res_op0 = _r1;
   13806              :                                                     }
   13807            0 :                                                     tree _r;
   13808            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13809            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   13810            0 :                                                     return _r;
   13811              :                                                   }
   13812            0 : next_after_fail1925:;
   13813              :                                               }
   13814              :                                             }
   13815              :                                           else
   13816              :                                             {
   13817            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   13818            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1926;
   13819            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   13820            0 :                                               {
   13821            0 :                                                 tree res_op0;
   13822            0 :                                                 {
   13823            0 :                                                   tree _o1[1], _r1;
   13824            0 :                                                   _o1[0] = captures[0];
   13825            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13826            0 :                                                   res_op0 = _r1;
   13827              :                                                 }
   13828            0 :                                                 tree _r;
   13829            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13830            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   13831            0 :                                                 return _r;
   13832              :                                               }
   13833            0 : next_after_fail1926:;
   13834              :                                             }
   13835              :                                         }
   13836              :                                     }
   13837              :                                   }
   13838              :                               }
   13839              :                             break;
   13840              :                           }
   13841              :                         default:;
   13842              :                         }
   13843              :                     }
   13844              :                 }
   13845              :               break;
   13846              :             }
   13847              :           default:;
   13848              :           }
   13849              :         break;
   13850              :       }
   13851       385472 :     default:;
   13852              :     }
   13853       385472 : {
   13854       385472 :   tree _p0_pops[1];
   13855       385472 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13856              :     {
   13857          848 :       tree _q20 = _p0_pops[0];
   13858          848 :       if (tree_truth_valued_p (_q20))
   13859              :         {
   13860            0 :           {
   13861            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13862            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13863              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13864              : )
   13865              :               {
   13866            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   13867            0 :                 {
   13868            0 :                   tree res_op0;
   13869            0 :                   res_op0 = captures[0];
   13870            0 :                   tree res_op1;
   13871            0 :                   res_op1 = captures[2];
   13872            0 :                   tree res_op2;
   13873            0 :                   res_op2 = captures[1];
   13874            0 :                   tree _r;
   13875            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13876            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   13877            0 :                   return _r;
   13878              :                 }
   13879            0 : next_after_fail1927:;
   13880              :               }
   13881              :           }
   13882              :         }
   13883              :     }
   13884              : }
   13885       385472 :   switch (TREE_CODE (_p1))
   13886              :     {
   13887            0 :     case VIEW_CONVERT_EXPR:
   13888            0 :       {
   13889            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13890            0 :         switch (TREE_CODE (_q30))
   13891              :           {
   13892            0 :           case CALL_EXPR:
   13893            0 :             switch (get_call_combined_fn (_q30))
   13894              :               {
   13895            0 :               case CFN_COND_ADD:
   13896            0 :                 if (call_expr_nargs (_q30) == 4)
   13897              :     {
   13898            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13899            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13900            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13901            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13902            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13903              :                       {
   13904            0 :                         {
   13905            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13906            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13907            0 :                           if (res) return res;
   13908              :                         }
   13909              :                       }
   13910              :                   }
   13911              :                 break;
   13912            0 :               case CFN_COND_AND:
   13913            0 :                 if (call_expr_nargs (_q30) == 4)
   13914              :     {
   13915            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13916            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13917            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13918            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13919            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13920              :                       {
   13921            0 :                         {
   13922            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13923            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13924            0 :                           if (res) return res;
   13925              :                         }
   13926              :                       }
   13927              :                   }
   13928              :                 break;
   13929            0 :               case CFN_COND_DIV:
   13930            0 :                 if (call_expr_nargs (_q30) == 4)
   13931              :     {
   13932            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13933            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13934            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13935            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13936            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13937              :                       {
   13938            0 :                         {
   13939            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13940            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   13941            0 :                           if (res) return res;
   13942              :                         }
   13943              :                       }
   13944              :                   }
   13945              :                 break;
   13946            0 :               case CFN_COND_IOR:
   13947            0 :                 if (call_expr_nargs (_q30) == 4)
   13948              :     {
   13949            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13950            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13951            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13952            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13953            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13954              :                       {
   13955            0 :                         {
   13956            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13957            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   13958            0 :                           if (res) return res;
   13959              :                         }
   13960              :                       }
   13961              :                   }
   13962              :                 break;
   13963            0 :               case CFN_COND_MAX:
   13964            0 :                 if (call_expr_nargs (_q30) == 4)
   13965              :     {
   13966            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13967            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13968            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13969            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13970            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13971              :                       {
   13972            0 :                         {
   13973            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13974            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   13975            0 :                           if (res) return res;
   13976              :                         }
   13977              :                       }
   13978              :                   }
   13979              :                 break;
   13980            0 :               case CFN_COND_MIN:
   13981            0 :                 if (call_expr_nargs (_q30) == 4)
   13982              :     {
   13983            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13984            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13985            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13986            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13987            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13988              :                       {
   13989            0 :                         {
   13990            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13991            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   13992            0 :                           if (res) return res;
   13993              :                         }
   13994              :                       }
   13995              :                   }
   13996              :                 break;
   13997            0 :               case CFN_COND_MOD:
   13998            0 :                 if (call_expr_nargs (_q30) == 4)
   13999              :     {
   14000            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14001            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14002            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14003            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14004            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14005              :                       {
   14006            0 :                         {
   14007            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14008            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14009            0 :                           if (res) return res;
   14010              :                         }
   14011              :                       }
   14012              :                   }
   14013              :                 break;
   14014            0 :               case CFN_COND_MUL:
   14015            0 :                 if (call_expr_nargs (_q30) == 4)
   14016              :     {
   14017            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14018            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14019            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14020            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14021            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14022              :                       {
   14023            0 :                         {
   14024            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14025            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14026            0 :                           if (res) return res;
   14027              :                         }
   14028              :                       }
   14029              :                   }
   14030              :                 break;
   14031            0 :               case CFN_COND_SHL:
   14032            0 :                 if (call_expr_nargs (_q30) == 4)
   14033              :     {
   14034            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14035            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14036            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14037            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14038            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14039              :                       {
   14040            0 :                         {
   14041            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14042            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14043            0 :                           if (res) return res;
   14044              :                         }
   14045              :                       }
   14046              :                   }
   14047              :                 break;
   14048            0 :               case CFN_COND_SHR:
   14049            0 :                 if (call_expr_nargs (_q30) == 4)
   14050              :     {
   14051            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14052            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14053            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14054            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14055            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14056              :                       {
   14057            0 :                         {
   14058            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14059            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14060            0 :                           if (res) return res;
   14061              :                         }
   14062              :                       }
   14063              :                   }
   14064              :                 break;
   14065            0 :               case CFN_COND_SUB:
   14066            0 :                 if (call_expr_nargs (_q30) == 4)
   14067              :     {
   14068            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14069            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14070            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14071            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14072            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14073              :                       {
   14074            0 :                         {
   14075            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14076            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14077            0 :                           if (res) return res;
   14078              :                         }
   14079              :                       }
   14080              :                   }
   14081              :                 break;
   14082            0 :               case CFN_COND_XOR:
   14083            0 :                 if (call_expr_nargs (_q30) == 4)
   14084              :     {
   14085            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14086            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14087            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14088            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14089            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14090              :                       {
   14091            0 :                         {
   14092            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14093            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14094            0 :                           if (res) return res;
   14095              :                         }
   14096              :                       }
   14097              :                   }
   14098              :                 break;
   14099            0 :               case CFN_COND_COPYSIGN:
   14100            0 :                 if (call_expr_nargs (_q30) == 4)
   14101              :     {
   14102            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14103            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14104            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14105            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14106            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14107              :                       {
   14108            0 :                         {
   14109            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14110            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14111            0 :                           if (res) return res;
   14112              :                         }
   14113              :                       }
   14114              :                   }
   14115              :                 break;
   14116            0 :               case CFN_COND_FMAX:
   14117            0 :                 if (call_expr_nargs (_q30) == 4)
   14118              :     {
   14119            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14120            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14121            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14122            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14123            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14124              :                       {
   14125            0 :                         {
   14126            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14127            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14128            0 :                           if (res) return res;
   14129              :                         }
   14130              :                       }
   14131              :                   }
   14132              :                 break;
   14133            0 :               case CFN_COND_FMIN:
   14134            0 :                 if (call_expr_nargs (_q30) == 4)
   14135              :     {
   14136            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14137            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14138            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14139            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14140            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14141              :                       {
   14142            0 :                         {
   14143            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14144            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14145            0 :                           if (res) return res;
   14146              :                         }
   14147              :                       }
   14148              :                   }
   14149              :                 break;
   14150            0 :               case CFN_COND_RDIV:
   14151            0 :                 if (call_expr_nargs (_q30) == 4)
   14152              :     {
   14153            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14154            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14155            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14156            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14157            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14158              :                       {
   14159            0 :                         {
   14160            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14161            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14162            0 :                           if (res) return res;
   14163              :                         }
   14164              :                       }
   14165              :                   }
   14166              :                 break;
   14167              :               default:;
   14168              :               }
   14169              :             break;
   14170              :           default:;
   14171              :           }
   14172              :         break;
   14173              :       }
   14174           12 :     case CALL_EXPR:
   14175           12 :       switch (get_call_combined_fn (_p1))
   14176              :         {
   14177            0 :         case CFN_COND_ADD:
   14178            0 :           if (call_expr_nargs (_p1) == 4)
   14179              :     {
   14180            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14181            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14182            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14183            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14184            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14185              :                 {
   14186            0 :                   {
   14187            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14188            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14189            0 :                     if (res) return res;
   14190              :                   }
   14191              :                 }
   14192              :             }
   14193              :           break;
   14194            0 :         case CFN_COND_AND:
   14195            0 :           if (call_expr_nargs (_p1) == 4)
   14196              :     {
   14197            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14198            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14199            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14200            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14201            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14202              :                 {
   14203            0 :                   {
   14204            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14205            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14206            0 :                     if (res) return res;
   14207              :                   }
   14208              :                 }
   14209              :             }
   14210              :           break;
   14211            0 :         case CFN_COND_DIV:
   14212            0 :           if (call_expr_nargs (_p1) == 4)
   14213              :     {
   14214            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14215            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14216            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14217            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14218            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14219              :                 {
   14220            0 :                   {
   14221            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14222            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14223            0 :                     if (res) return res;
   14224              :                   }
   14225              :                 }
   14226              :             }
   14227              :           break;
   14228            0 :         case CFN_COND_IOR:
   14229            0 :           if (call_expr_nargs (_p1) == 4)
   14230              :     {
   14231            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14232            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14233            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14234            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14235            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14236              :                 {
   14237            0 :                   {
   14238            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14239            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14240            0 :                     if (res) return res;
   14241              :                   }
   14242              :                 }
   14243              :             }
   14244              :           break;
   14245            0 :         case CFN_COND_MAX:
   14246            0 :           if (call_expr_nargs (_p1) == 4)
   14247              :     {
   14248            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14249            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14250            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14251            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14252            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14253              :                 {
   14254            0 :                   {
   14255            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14256            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14257            0 :                     if (res) return res;
   14258              :                   }
   14259              :                 }
   14260              :             }
   14261              :           break;
   14262            0 :         case CFN_COND_MIN:
   14263            0 :           if (call_expr_nargs (_p1) == 4)
   14264              :     {
   14265            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14266            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14267            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14268            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14269            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14270              :                 {
   14271            0 :                   {
   14272            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14273            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14274            0 :                     if (res) return res;
   14275              :                   }
   14276              :                 }
   14277              :             }
   14278              :           break;
   14279            0 :         case CFN_COND_MOD:
   14280            0 :           if (call_expr_nargs (_p1) == 4)
   14281              :     {
   14282            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14283            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14284            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14285            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14286            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14287              :                 {
   14288            0 :                   {
   14289            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14290            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14291            0 :                     if (res) return res;
   14292              :                   }
   14293              :                 }
   14294              :             }
   14295              :           break;
   14296            0 :         case CFN_COND_MUL:
   14297            0 :           if (call_expr_nargs (_p1) == 4)
   14298              :     {
   14299            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14300            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14301            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14302            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14303            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14304              :                 {
   14305            0 :                   {
   14306            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14307            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14308            0 :                     if (res) return res;
   14309              :                   }
   14310              :                 }
   14311              :             }
   14312              :           break;
   14313            0 :         case CFN_COND_SHL:
   14314            0 :           if (call_expr_nargs (_p1) == 4)
   14315              :     {
   14316            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14317            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14318            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14319            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14320            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14321              :                 {
   14322            0 :                   {
   14323            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14324            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14325            0 :                     if (res) return res;
   14326              :                   }
   14327              :                 }
   14328              :             }
   14329              :           break;
   14330            0 :         case CFN_COND_SHR:
   14331            0 :           if (call_expr_nargs (_p1) == 4)
   14332              :     {
   14333            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14334            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14335            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14336            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14337            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14338              :                 {
   14339            0 :                   {
   14340            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14341            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14342            0 :                     if (res) return res;
   14343              :                   }
   14344              :                 }
   14345              :             }
   14346              :           break;
   14347            0 :         case CFN_COND_SUB:
   14348            0 :           if (call_expr_nargs (_p1) == 4)
   14349              :     {
   14350            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14351            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14352            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14353            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14354            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14355              :                 {
   14356            0 :                   {
   14357            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14358            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14359            0 :                     if (res) return res;
   14360              :                   }
   14361              :                 }
   14362              :             }
   14363              :           break;
   14364            0 :         case CFN_COND_XOR:
   14365            0 :           if (call_expr_nargs (_p1) == 4)
   14366              :     {
   14367            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14368            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14369            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14370            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14371            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14372              :                 {
   14373            0 :                   {
   14374            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14375            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14376            0 :                     if (res) return res;
   14377              :                   }
   14378              :                 }
   14379              :             }
   14380              :           break;
   14381            0 :         case CFN_COND_COPYSIGN:
   14382            0 :           if (call_expr_nargs (_p1) == 4)
   14383              :     {
   14384            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14385            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14386            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14387            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14388            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14389              :                 {
   14390            0 :                   {
   14391            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14392            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14393            0 :                     if (res) return res;
   14394              :                   }
   14395              :                 }
   14396              :             }
   14397              :           break;
   14398            0 :         case CFN_COND_FMAX:
   14399            0 :           if (call_expr_nargs (_p1) == 4)
   14400              :     {
   14401            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14402            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14403            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14404            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14405            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14406              :                 {
   14407            0 :                   {
   14408            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14409            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14410            0 :                     if (res) return res;
   14411              :                   }
   14412              :                 }
   14413              :             }
   14414              :           break;
   14415            0 :         case CFN_COND_FMIN:
   14416            0 :           if (call_expr_nargs (_p1) == 4)
   14417              :     {
   14418            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14419            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14420            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14421            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14422            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14423              :                 {
   14424            0 :                   {
   14425            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14426            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14427            0 :                     if (res) return res;
   14428              :                   }
   14429              :                 }
   14430              :             }
   14431              :           break;
   14432            0 :         case CFN_COND_RDIV:
   14433            0 :           if (call_expr_nargs (_p1) == 4)
   14434              :     {
   14435            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14436            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14437            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14438            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14439            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14440              :                 {
   14441            0 :                   {
   14442            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14443            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14444            0 :                     if (res) return res;
   14445              :                   }
   14446              :                 }
   14447              :             }
   14448              :           break;
   14449              :         default:;
   14450              :         }
   14451              :       break;
   14452       385472 :     default:;
   14453              :     }
   14454       385472 :   switch (TREE_CODE (_p2))
   14455              :     {
   14456            0 :     case VIEW_CONVERT_EXPR:
   14457            0 :       {
   14458            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14459            0 :         switch (TREE_CODE (_q40))
   14460              :           {
   14461            0 :           case CALL_EXPR:
   14462            0 :             switch (get_call_combined_fn (_q40))
   14463              :               {
   14464            0 :               case CFN_COND_ADD:
   14465            0 :                 if (call_expr_nargs (_q40) == 4)
   14466              :     {
   14467            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14468            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14469            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14470            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14471            0 :                     {
   14472            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14473            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14474            0 :                       if (res) return res;
   14475              :                     }
   14476              :                   }
   14477              :                 break;
   14478            0 :               case CFN_COND_AND:
   14479            0 :                 if (call_expr_nargs (_q40) == 4)
   14480              :     {
   14481            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14482            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14483            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14484            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14485            0 :                     {
   14486            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14487            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14488            0 :                       if (res) return res;
   14489              :                     }
   14490              :                   }
   14491              :                 break;
   14492            0 :               case CFN_COND_DIV:
   14493            0 :                 if (call_expr_nargs (_q40) == 4)
   14494              :     {
   14495            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14496            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14497            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14498            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14499            0 :                     {
   14500            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14501            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14502            0 :                       if (res) return res;
   14503              :                     }
   14504              :                   }
   14505              :                 break;
   14506            0 :               case CFN_COND_IOR:
   14507            0 :                 if (call_expr_nargs (_q40) == 4)
   14508              :     {
   14509            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14510            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14511            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14512            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14513            0 :                     {
   14514            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14515            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14516            0 :                       if (res) return res;
   14517              :                     }
   14518              :                   }
   14519              :                 break;
   14520            0 :               case CFN_COND_MAX:
   14521            0 :                 if (call_expr_nargs (_q40) == 4)
   14522              :     {
   14523            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14524            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14525            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14526            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14527            0 :                     {
   14528            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14529            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14530            0 :                       if (res) return res;
   14531              :                     }
   14532              :                   }
   14533              :                 break;
   14534            0 :               case CFN_COND_MIN:
   14535            0 :                 if (call_expr_nargs (_q40) == 4)
   14536              :     {
   14537            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14538            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14539            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14540            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14541            0 :                     {
   14542            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14543            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14544            0 :                       if (res) return res;
   14545              :                     }
   14546              :                   }
   14547              :                 break;
   14548            0 :               case CFN_COND_MOD:
   14549            0 :                 if (call_expr_nargs (_q40) == 4)
   14550              :     {
   14551            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14552            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14553            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14554            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14555            0 :                     {
   14556            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14557            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14558            0 :                       if (res) return res;
   14559              :                     }
   14560              :                   }
   14561              :                 break;
   14562            0 :               case CFN_COND_MUL:
   14563            0 :                 if (call_expr_nargs (_q40) == 4)
   14564              :     {
   14565            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14566            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14567            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14568            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14569            0 :                     {
   14570            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14571            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14572            0 :                       if (res) return res;
   14573              :                     }
   14574              :                   }
   14575              :                 break;
   14576            0 :               case CFN_COND_SHL:
   14577            0 :                 if (call_expr_nargs (_q40) == 4)
   14578              :     {
   14579            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14580            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14581            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14582            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14583            0 :                     {
   14584            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14585            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14586            0 :                       if (res) return res;
   14587              :                     }
   14588              :                   }
   14589              :                 break;
   14590            0 :               case CFN_COND_SHR:
   14591            0 :                 if (call_expr_nargs (_q40) == 4)
   14592              :     {
   14593            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14594            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14595            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14596            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14597            0 :                     {
   14598            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14599            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14600            0 :                       if (res) return res;
   14601              :                     }
   14602              :                   }
   14603              :                 break;
   14604            0 :               case CFN_COND_SUB:
   14605            0 :                 if (call_expr_nargs (_q40) == 4)
   14606              :     {
   14607            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14608            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14609            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14610            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14611            0 :                     {
   14612            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14613            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14614            0 :                       if (res) return res;
   14615              :                     }
   14616              :                   }
   14617              :                 break;
   14618            0 :               case CFN_COND_XOR:
   14619            0 :                 if (call_expr_nargs (_q40) == 4)
   14620              :     {
   14621            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14622            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14623            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14624            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14625            0 :                     {
   14626            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14627            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14628            0 :                       if (res) return res;
   14629              :                     }
   14630              :                   }
   14631              :                 break;
   14632            0 :               case CFN_COND_COPYSIGN:
   14633            0 :                 if (call_expr_nargs (_q40) == 4)
   14634              :     {
   14635            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14636            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14637            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14638            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14639            0 :                     {
   14640            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14641            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14642            0 :                       if (res) return res;
   14643              :                     }
   14644              :                   }
   14645              :                 break;
   14646            0 :               case CFN_COND_FMAX:
   14647            0 :                 if (call_expr_nargs (_q40) == 4)
   14648              :     {
   14649            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14650            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14651            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14652            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14653            0 :                     {
   14654            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14655            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14656            0 :                       if (res) return res;
   14657              :                     }
   14658              :                   }
   14659              :                 break;
   14660            0 :               case CFN_COND_FMIN:
   14661            0 :                 if (call_expr_nargs (_q40) == 4)
   14662              :     {
   14663            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14664            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14665            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14666            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14667            0 :                     {
   14668            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14669            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14670            0 :                       if (res) return res;
   14671              :                     }
   14672              :                   }
   14673              :                 break;
   14674            0 :               case CFN_COND_RDIV:
   14675            0 :                 if (call_expr_nargs (_q40) == 4)
   14676              :     {
   14677            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14678            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14679            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14680            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14681            0 :                     {
   14682            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14683            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14684            0 :                       if (res) return res;
   14685              :                     }
   14686              :                   }
   14687              :                 break;
   14688              :               default:;
   14689              :               }
   14690              :             break;
   14691              :           default:;
   14692              :           }
   14693              :         break;
   14694              :       }
   14695           12 :     case CALL_EXPR:
   14696           12 :       switch (get_call_combined_fn (_p2))
   14697              :         {
   14698            0 :         case CFN_COND_ADD:
   14699            0 :           if (call_expr_nargs (_p2) == 4)
   14700              :     {
   14701            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14702            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14703            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14704            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14705            0 :               {
   14706            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14707            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14708            0 :                 if (res) return res;
   14709              :               }
   14710              :             }
   14711              :           break;
   14712            0 :         case CFN_COND_AND:
   14713            0 :           if (call_expr_nargs (_p2) == 4)
   14714              :     {
   14715            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14716            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14717            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14718            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14719            0 :               {
   14720            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14721            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14722            0 :                 if (res) return res;
   14723              :               }
   14724              :             }
   14725              :           break;
   14726            0 :         case CFN_COND_DIV:
   14727            0 :           if (call_expr_nargs (_p2) == 4)
   14728              :     {
   14729            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14730            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14731            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14732            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14733            0 :               {
   14734            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14735            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14736            0 :                 if (res) return res;
   14737              :               }
   14738              :             }
   14739              :           break;
   14740            0 :         case CFN_COND_IOR:
   14741            0 :           if (call_expr_nargs (_p2) == 4)
   14742              :     {
   14743            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14744            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14745            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14746            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14747            0 :               {
   14748            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14749            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14750            0 :                 if (res) return res;
   14751              :               }
   14752              :             }
   14753              :           break;
   14754            0 :         case CFN_COND_MAX:
   14755            0 :           if (call_expr_nargs (_p2) == 4)
   14756              :     {
   14757            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14758            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14759            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14760            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14761            0 :               {
   14762            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14763            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14764            0 :                 if (res) return res;
   14765              :               }
   14766              :             }
   14767              :           break;
   14768            0 :         case CFN_COND_MIN:
   14769            0 :           if (call_expr_nargs (_p2) == 4)
   14770              :     {
   14771            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14772            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14773            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14774            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14775            0 :               {
   14776            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14777            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14778            0 :                 if (res) return res;
   14779              :               }
   14780              :             }
   14781              :           break;
   14782            0 :         case CFN_COND_MOD:
   14783            0 :           if (call_expr_nargs (_p2) == 4)
   14784              :     {
   14785            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14786            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14787            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14788            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14789            0 :               {
   14790            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14791            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14792            0 :                 if (res) return res;
   14793              :               }
   14794              :             }
   14795              :           break;
   14796            0 :         case CFN_COND_MUL:
   14797            0 :           if (call_expr_nargs (_p2) == 4)
   14798              :     {
   14799            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14800            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14801            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14802            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14803            0 :               {
   14804            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14805            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14806            0 :                 if (res) return res;
   14807              :               }
   14808              :             }
   14809              :           break;
   14810            0 :         case CFN_COND_SHL:
   14811            0 :           if (call_expr_nargs (_p2) == 4)
   14812              :     {
   14813            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14814            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14815            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14816            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14817            0 :               {
   14818            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14819            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14820            0 :                 if (res) return res;
   14821              :               }
   14822              :             }
   14823              :           break;
   14824            0 :         case CFN_COND_SHR:
   14825            0 :           if (call_expr_nargs (_p2) == 4)
   14826              :     {
   14827            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14828            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14829            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14830            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14831            0 :               {
   14832            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14833            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14834            0 :                 if (res) return res;
   14835              :               }
   14836              :             }
   14837              :           break;
   14838            0 :         case CFN_COND_SUB:
   14839            0 :           if (call_expr_nargs (_p2) == 4)
   14840              :     {
   14841            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14842            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14843            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14844            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14845            0 :               {
   14846            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14847            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14848            0 :                 if (res) return res;
   14849              :               }
   14850              :             }
   14851              :           break;
   14852            0 :         case CFN_COND_XOR:
   14853            0 :           if (call_expr_nargs (_p2) == 4)
   14854              :     {
   14855            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14856            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14857            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14858            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14859            0 :               {
   14860            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14861            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14862            0 :                 if (res) return res;
   14863              :               }
   14864              :             }
   14865              :           break;
   14866            0 :         case CFN_COND_COPYSIGN:
   14867            0 :           if (call_expr_nargs (_p2) == 4)
   14868              :     {
   14869            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14870            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14871            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14872            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14873            0 :               {
   14874            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14875            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14876            0 :                 if (res) return res;
   14877              :               }
   14878              :             }
   14879              :           break;
   14880            0 :         case CFN_COND_FMAX:
   14881            0 :           if (call_expr_nargs (_p2) == 4)
   14882              :     {
   14883            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14884            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14885            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14886            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14887            0 :               {
   14888            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14889            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14890            0 :                 if (res) return res;
   14891              :               }
   14892              :             }
   14893              :           break;
   14894            0 :         case CFN_COND_FMIN:
   14895            0 :           if (call_expr_nargs (_p2) == 4)
   14896              :     {
   14897            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14898            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14899            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14900            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14901            0 :               {
   14902            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14903            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14904            0 :                 if (res) return res;
   14905              :               }
   14906              :             }
   14907              :           break;
   14908            0 :         case CFN_COND_RDIV:
   14909            0 :           if (call_expr_nargs (_p2) == 4)
   14910              :     {
   14911            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14912            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14913            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14914            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14915            0 :               {
   14916            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14917            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14918            0 :                 if (res) return res;
   14919              :               }
   14920              :             }
   14921              :           break;
   14922              :         default:;
   14923              :         }
   14924              :       break;
   14925       385472 :     default:;
   14926              :     }
   14927       385472 :   switch (TREE_CODE (_p1))
   14928              :     {
   14929            0 :     case VIEW_CONVERT_EXPR:
   14930            0 :       {
   14931            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14932            0 :         switch (TREE_CODE (_q30))
   14933              :           {
   14934            0 :           case CALL_EXPR:
   14935            0 :             switch (get_call_combined_fn (_q30))
   14936              :               {
   14937            0 :               case CFN_COND_FMA:
   14938            0 :                 if (call_expr_nargs (_q30) == 5)
   14939              :     {
   14940            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14941            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14942            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14943            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14944            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14945            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14946              :                       {
   14947            0 :                         {
   14948            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14949            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14950            0 :                           if (res) return res;
   14951              :                         }
   14952              :                       }
   14953              :                   }
   14954              :                 break;
   14955            0 :               case CFN_COND_FMS:
   14956            0 :                 if (call_expr_nargs (_q30) == 5)
   14957              :     {
   14958            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14959            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14960            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14961            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14962            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14963            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14964              :                       {
   14965            0 :                         {
   14966            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14967            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14968            0 :                           if (res) return res;
   14969              :                         }
   14970              :                       }
   14971              :                   }
   14972              :                 break;
   14973            0 :               case CFN_COND_FNMA:
   14974            0 :                 if (call_expr_nargs (_q30) == 5)
   14975              :     {
   14976            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14977            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14978            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14979            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14980            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14981            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14982              :                       {
   14983            0 :                         {
   14984            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14985            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14986            0 :                           if (res) return res;
   14987              :                         }
   14988              :                       }
   14989              :                   }
   14990              :                 break;
   14991            0 :               case CFN_COND_FNMS:
   14992            0 :                 if (call_expr_nargs (_q30) == 5)
   14993              :     {
   14994            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14995            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14996            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14997            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14998            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14999            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15000              :                       {
   15001            0 :                         {
   15002            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15003            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15004            0 :                           if (res) return res;
   15005              :                         }
   15006              :                       }
   15007              :                   }
   15008              :                 break;
   15009              :               default:;
   15010              :               }
   15011              :             break;
   15012              :           default:;
   15013              :           }
   15014              :         break;
   15015              :       }
   15016           12 :     case CALL_EXPR:
   15017           12 :       switch (get_call_combined_fn (_p1))
   15018              :         {
   15019            0 :         case CFN_COND_FMA:
   15020            0 :           if (call_expr_nargs (_p1) == 5)
   15021              :     {
   15022            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15023            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15024            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15025            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15026            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15027            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15028              :                 {
   15029            0 :                   {
   15030            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15031            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15032            0 :                     if (res) return res;
   15033              :                   }
   15034              :                 }
   15035              :             }
   15036              :           break;
   15037            0 :         case CFN_COND_FMS:
   15038            0 :           if (call_expr_nargs (_p1) == 5)
   15039              :     {
   15040            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15041            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15042            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15043            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15044            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15045            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15046              :                 {
   15047            0 :                   {
   15048            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15049            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15050            0 :                     if (res) return res;
   15051              :                   }
   15052              :                 }
   15053              :             }
   15054              :           break;
   15055            0 :         case CFN_COND_FNMA:
   15056            0 :           if (call_expr_nargs (_p1) == 5)
   15057              :     {
   15058            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15059            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15060            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15061            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15062            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15063            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15064              :                 {
   15065            0 :                   {
   15066            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15067            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15068            0 :                     if (res) return res;
   15069              :                   }
   15070              :                 }
   15071              :             }
   15072              :           break;
   15073            0 :         case CFN_COND_FNMS:
   15074            0 :           if (call_expr_nargs (_p1) == 5)
   15075              :     {
   15076            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15077            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15078            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15079            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15080            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15081            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15082              :                 {
   15083            0 :                   {
   15084            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15085            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15086            0 :                     if (res) return res;
   15087              :                   }
   15088              :                 }
   15089              :             }
   15090              :           break;
   15091              :         default:;
   15092              :         }
   15093              :       break;
   15094       385472 :     default:;
   15095              :     }
   15096       385472 :   switch (TREE_CODE (_p2))
   15097              :     {
   15098            0 :     case VIEW_CONVERT_EXPR:
   15099            0 :       {
   15100            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15101            0 :         switch (TREE_CODE (_q40))
   15102              :           {
   15103            0 :           case CALL_EXPR:
   15104            0 :             switch (get_call_combined_fn (_q40))
   15105              :               {
   15106            0 :               case CFN_COND_FMA:
   15107            0 :                 if (call_expr_nargs (_q40) == 5)
   15108              :     {
   15109            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15110            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15111            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15112            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15113            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15114            0 :                     {
   15115            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15116            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15117            0 :                       if (res) return res;
   15118              :                     }
   15119              :                   }
   15120              :                 break;
   15121            0 :               case CFN_COND_FMS:
   15122            0 :                 if (call_expr_nargs (_q40) == 5)
   15123              :     {
   15124            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15125            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15126            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15127            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15128            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15129            0 :                     {
   15130            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15131            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15132            0 :                       if (res) return res;
   15133              :                     }
   15134              :                   }
   15135              :                 break;
   15136            0 :               case CFN_COND_FNMA:
   15137            0 :                 if (call_expr_nargs (_q40) == 5)
   15138              :     {
   15139            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15140            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15141            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15142            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15143            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15144            0 :                     {
   15145            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15146            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15147            0 :                       if (res) return res;
   15148              :                     }
   15149              :                   }
   15150              :                 break;
   15151            0 :               case CFN_COND_FNMS:
   15152            0 :                 if (call_expr_nargs (_q40) == 5)
   15153              :     {
   15154            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15155            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15156            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15157            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15158            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15159            0 :                     {
   15160            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15161            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15162            0 :                       if (res) return res;
   15163              :                     }
   15164              :                   }
   15165              :                 break;
   15166              :               default:;
   15167              :               }
   15168              :             break;
   15169              :           default:;
   15170              :           }
   15171              :         break;
   15172              :       }
   15173           12 :     case CALL_EXPR:
   15174           12 :       switch (get_call_combined_fn (_p2))
   15175              :         {
   15176            0 :         case CFN_COND_FMA:
   15177            0 :           if (call_expr_nargs (_p2) == 5)
   15178              :     {
   15179            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15180            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15181            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15182            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15183            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15184            0 :               {
   15185            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15186            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15187            0 :                 if (res) return res;
   15188              :               }
   15189              :             }
   15190              :           break;
   15191            0 :         case CFN_COND_FMS:
   15192            0 :           if (call_expr_nargs (_p2) == 5)
   15193              :     {
   15194            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15195            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15196            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15197            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15198            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15199            0 :               {
   15200            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15201            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15202            0 :                 if (res) return res;
   15203              :               }
   15204              :             }
   15205              :           break;
   15206            0 :         case CFN_COND_FNMA:
   15207            0 :           if (call_expr_nargs (_p2) == 5)
   15208              :     {
   15209            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15210            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15211            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15212            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15213            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15214            0 :               {
   15215            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15216            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15217            0 :                 if (res) return res;
   15218              :               }
   15219              :             }
   15220              :           break;
   15221            0 :         case CFN_COND_FNMS:
   15222            0 :           if (call_expr_nargs (_p2) == 5)
   15223              :     {
   15224            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15225            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15226            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15227            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15228            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15229            0 :               {
   15230            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15231            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15232            0 :                 if (res) return res;
   15233              :               }
   15234              :             }
   15235              :           break;
   15236              :         default:;
   15237              :         }
   15238              :       break;
   15239       385472 :     default:;
   15240              :     }
   15241       385472 :   switch (TREE_CODE (_p1))
   15242              :     {
   15243            0 :     case VIEW_CONVERT_EXPR:
   15244            0 :       {
   15245            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15246            0 :         switch (TREE_CODE (_q30))
   15247              :           {
   15248            0 :           case CALL_EXPR:
   15249            0 :             switch (get_call_combined_fn (_q30))
   15250              :               {
   15251            0 :               case CFN_COND_LEN_ADD:
   15252            0 :                 if (call_expr_nargs (_q30) == 6)
   15253              :     {
   15254            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15255            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15256            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15257            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15258            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15259            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15260            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15261              :                       {
   15262            0 :                         {
   15263            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15264            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15265            0 :                           if (res) return res;
   15266              :                         }
   15267              :                       }
   15268              :                   }
   15269              :                 break;
   15270            0 :               case CFN_COND_LEN_AND:
   15271            0 :                 if (call_expr_nargs (_q30) == 6)
   15272              :     {
   15273            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15274            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15275            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15276            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15277            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15278            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15279            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15280              :                       {
   15281            0 :                         {
   15282            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15283            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15284            0 :                           if (res) return res;
   15285              :                         }
   15286              :                       }
   15287              :                   }
   15288              :                 break;
   15289            0 :               case CFN_COND_LEN_DIV:
   15290            0 :                 if (call_expr_nargs (_q30) == 6)
   15291              :     {
   15292            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15293            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15294            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15295            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15296            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15297            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15298            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15299              :                       {
   15300            0 :                         {
   15301            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15302            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15303            0 :                           if (res) return res;
   15304              :                         }
   15305              :                       }
   15306              :                   }
   15307              :                 break;
   15308            0 :               case CFN_COND_LEN_IOR:
   15309            0 :                 if (call_expr_nargs (_q30) == 6)
   15310              :     {
   15311            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15312            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15313            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15314            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15315            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15316            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15317            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15318              :                       {
   15319            0 :                         {
   15320            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15321            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15322            0 :                           if (res) return res;
   15323              :                         }
   15324              :                       }
   15325              :                   }
   15326              :                 break;
   15327            0 :               case CFN_COND_LEN_MAX:
   15328            0 :                 if (call_expr_nargs (_q30) == 6)
   15329              :     {
   15330            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15331            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15332            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15333            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15334            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15335            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15336            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15337              :                       {
   15338            0 :                         {
   15339            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15340            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15341            0 :                           if (res) return res;
   15342              :                         }
   15343              :                       }
   15344              :                   }
   15345              :                 break;
   15346            0 :               case CFN_COND_LEN_MIN:
   15347            0 :                 if (call_expr_nargs (_q30) == 6)
   15348              :     {
   15349            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15350            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15351            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15352            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15353            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15354            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15355            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15356              :                       {
   15357            0 :                         {
   15358            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15359            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15360            0 :                           if (res) return res;
   15361              :                         }
   15362              :                       }
   15363              :                   }
   15364              :                 break;
   15365            0 :               case CFN_COND_LEN_MOD:
   15366            0 :                 if (call_expr_nargs (_q30) == 6)
   15367              :     {
   15368            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15369            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15370            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15371            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15372            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15373            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15374            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15375              :                       {
   15376            0 :                         {
   15377            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15378            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15379            0 :                           if (res) return res;
   15380              :                         }
   15381              :                       }
   15382              :                   }
   15383              :                 break;
   15384            0 :               case CFN_COND_LEN_MUL:
   15385            0 :                 if (call_expr_nargs (_q30) == 6)
   15386              :     {
   15387            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15388            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15389            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15390            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15391            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15392            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15393            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15394              :                       {
   15395            0 :                         {
   15396            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15397            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15398            0 :                           if (res) return res;
   15399              :                         }
   15400              :                       }
   15401              :                   }
   15402              :                 break;
   15403            0 :               case CFN_COND_LEN_SHL:
   15404            0 :                 if (call_expr_nargs (_q30) == 6)
   15405              :     {
   15406            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15407            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15408            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15409            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15410            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15411            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15412            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15413              :                       {
   15414            0 :                         {
   15415            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15416            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15417            0 :                           if (res) return res;
   15418              :                         }
   15419              :                       }
   15420              :                   }
   15421              :                 break;
   15422            0 :               case CFN_COND_LEN_SHR:
   15423            0 :                 if (call_expr_nargs (_q30) == 6)
   15424              :     {
   15425            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15426            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15427            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15428            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15429            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15430            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15431            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15432              :                       {
   15433            0 :                         {
   15434            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15435            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15436            0 :                           if (res) return res;
   15437              :                         }
   15438              :                       }
   15439              :                   }
   15440              :                 break;
   15441            0 :               case CFN_COND_LEN_SUB:
   15442            0 :                 if (call_expr_nargs (_q30) == 6)
   15443              :     {
   15444            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15445            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15446            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15447            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15448            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15449            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15450            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15451              :                       {
   15452            0 :                         {
   15453            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15454            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15455            0 :                           if (res) return res;
   15456              :                         }
   15457              :                       }
   15458              :                   }
   15459              :                 break;
   15460            0 :               case CFN_COND_LEN_XOR:
   15461            0 :                 if (call_expr_nargs (_q30) == 6)
   15462              :     {
   15463            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15464            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15465            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15466            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15467            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15468            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15469            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15470              :                       {
   15471            0 :                         {
   15472            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15473            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15474            0 :                           if (res) return res;
   15475              :                         }
   15476              :                       }
   15477              :                   }
   15478              :                 break;
   15479            0 :               case CFN_COND_LEN_FMAX:
   15480            0 :                 if (call_expr_nargs (_q30) == 6)
   15481              :     {
   15482            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15483            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15484            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15485            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15486            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15487            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15488            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15489              :                       {
   15490            0 :                         {
   15491            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15492            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15493            0 :                           if (res) return res;
   15494              :                         }
   15495              :                       }
   15496              :                   }
   15497              :                 break;
   15498            0 :               case CFN_COND_LEN_FMIN:
   15499            0 :                 if (call_expr_nargs (_q30) == 6)
   15500              :     {
   15501            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15502            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15503            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15504            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15505            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15506            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15507            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15508              :                       {
   15509            0 :                         {
   15510            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15511            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15512            0 :                           if (res) return res;
   15513              :                         }
   15514              :                       }
   15515              :                   }
   15516              :                 break;
   15517            0 :               case CFN_COND_LEN_RDIV:
   15518            0 :                 if (call_expr_nargs (_q30) == 6)
   15519              :     {
   15520            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15521            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15522            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15523            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15524            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15525            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15526            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15527              :                       {
   15528            0 :                         {
   15529            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15530            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15531            0 :                           if (res) return res;
   15532              :                         }
   15533              :                       }
   15534              :                   }
   15535              :                 break;
   15536            0 :               case CFN_COND_LEN_COPYSIGN:
   15537            0 :                 if (call_expr_nargs (_q30) == 6)
   15538              :     {
   15539            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15540            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15541            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15542            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15543            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15544            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15545            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15546              :                       {
   15547            0 :                         {
   15548            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15549            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15550            0 :                           if (res) return res;
   15551              :                         }
   15552              :                       }
   15553              :                   }
   15554              :                 break;
   15555              :               default:;
   15556              :               }
   15557              :             break;
   15558              :           default:;
   15559              :           }
   15560              :         break;
   15561              :       }
   15562           12 :     case CALL_EXPR:
   15563           12 :       switch (get_call_combined_fn (_p1))
   15564              :         {
   15565            0 :         case CFN_COND_LEN_ADD:
   15566            0 :           if (call_expr_nargs (_p1) == 6)
   15567              :     {
   15568            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15569            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15570            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15571            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15572            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15573            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15574            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15575              :                 {
   15576            0 :                   {
   15577            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15578            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15579            0 :                     if (res) return res;
   15580              :                   }
   15581              :                 }
   15582              :             }
   15583              :           break;
   15584            0 :         case CFN_COND_LEN_AND:
   15585            0 :           if (call_expr_nargs (_p1) == 6)
   15586              :     {
   15587            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15588            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15589            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15590            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15591            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15592            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15593            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15594              :                 {
   15595            0 :                   {
   15596            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15597            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15598            0 :                     if (res) return res;
   15599              :                   }
   15600              :                 }
   15601              :             }
   15602              :           break;
   15603            0 :         case CFN_COND_LEN_DIV:
   15604            0 :           if (call_expr_nargs (_p1) == 6)
   15605              :     {
   15606            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15607            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15608            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15609            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15610            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15611            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15612            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15613              :                 {
   15614            0 :                   {
   15615            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15616            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15617            0 :                     if (res) return res;
   15618              :                   }
   15619              :                 }
   15620              :             }
   15621              :           break;
   15622            0 :         case CFN_COND_LEN_IOR:
   15623            0 :           if (call_expr_nargs (_p1) == 6)
   15624              :     {
   15625            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15626            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15627            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15628            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15629            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15630            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15631            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15632              :                 {
   15633            0 :                   {
   15634            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15635            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15636            0 :                     if (res) return res;
   15637              :                   }
   15638              :                 }
   15639              :             }
   15640              :           break;
   15641            0 :         case CFN_COND_LEN_MAX:
   15642            0 :           if (call_expr_nargs (_p1) == 6)
   15643              :     {
   15644            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15645            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15646            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15647            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15648            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15649            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15650            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15651              :                 {
   15652            0 :                   {
   15653            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15654            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15655            0 :                     if (res) return res;
   15656              :                   }
   15657              :                 }
   15658              :             }
   15659              :           break;
   15660            0 :         case CFN_COND_LEN_MIN:
   15661            0 :           if (call_expr_nargs (_p1) == 6)
   15662              :     {
   15663            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15664            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15665            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15666            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15667            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15668            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15669            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15670              :                 {
   15671            0 :                   {
   15672            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15673            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15674            0 :                     if (res) return res;
   15675              :                   }
   15676              :                 }
   15677              :             }
   15678              :           break;
   15679            0 :         case CFN_COND_LEN_MOD:
   15680            0 :           if (call_expr_nargs (_p1) == 6)
   15681              :     {
   15682            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15683            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15684            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15685            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15686            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15687            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15688            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15689              :                 {
   15690            0 :                   {
   15691            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15692            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15693            0 :                     if (res) return res;
   15694              :                   }
   15695              :                 }
   15696              :             }
   15697              :           break;
   15698            0 :         case CFN_COND_LEN_MUL:
   15699            0 :           if (call_expr_nargs (_p1) == 6)
   15700              :     {
   15701            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15702            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15703            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15704            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15705            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15706            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15707            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15708              :                 {
   15709            0 :                   {
   15710            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15711            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15712            0 :                     if (res) return res;
   15713              :                   }
   15714              :                 }
   15715              :             }
   15716              :           break;
   15717            0 :         case CFN_COND_LEN_SHL:
   15718            0 :           if (call_expr_nargs (_p1) == 6)
   15719              :     {
   15720            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15721            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15722            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15723            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15724            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15725            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15726            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15727              :                 {
   15728            0 :                   {
   15729            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15730            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15731            0 :                     if (res) return res;
   15732              :                   }
   15733              :                 }
   15734              :             }
   15735              :           break;
   15736            0 :         case CFN_COND_LEN_SHR:
   15737            0 :           if (call_expr_nargs (_p1) == 6)
   15738              :     {
   15739            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15740            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15741            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15742            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15743            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15744            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15745            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15746              :                 {
   15747            0 :                   {
   15748            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15749            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15750            0 :                     if (res) return res;
   15751              :                   }
   15752              :                 }
   15753              :             }
   15754              :           break;
   15755            0 :         case CFN_COND_LEN_SUB:
   15756            0 :           if (call_expr_nargs (_p1) == 6)
   15757              :     {
   15758            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15759            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15760            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15761            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15762            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15763            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15764            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15765              :                 {
   15766            0 :                   {
   15767            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15768            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15769            0 :                     if (res) return res;
   15770              :                   }
   15771              :                 }
   15772              :             }
   15773              :           break;
   15774            0 :         case CFN_COND_LEN_XOR:
   15775            0 :           if (call_expr_nargs (_p1) == 6)
   15776              :     {
   15777            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15778            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15779            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15780            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15781            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15782            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15783            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15784              :                 {
   15785            0 :                   {
   15786            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15787            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15788            0 :                     if (res) return res;
   15789              :                   }
   15790              :                 }
   15791              :             }
   15792              :           break;
   15793            0 :         case CFN_COND_LEN_FMAX:
   15794            0 :           if (call_expr_nargs (_p1) == 6)
   15795              :     {
   15796            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15797            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15798            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15799            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15800            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15801            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15802            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15803              :                 {
   15804            0 :                   {
   15805            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15806            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15807            0 :                     if (res) return res;
   15808              :                   }
   15809              :                 }
   15810              :             }
   15811              :           break;
   15812            0 :         case CFN_COND_LEN_FMIN:
   15813            0 :           if (call_expr_nargs (_p1) == 6)
   15814              :     {
   15815            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15816            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15817            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15818            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15819            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15820            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15821            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15822              :                 {
   15823            0 :                   {
   15824            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15825            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15826            0 :                     if (res) return res;
   15827              :                   }
   15828              :                 }
   15829              :             }
   15830              :           break;
   15831            0 :         case CFN_COND_LEN_RDIV:
   15832            0 :           if (call_expr_nargs (_p1) == 6)
   15833              :     {
   15834            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15835            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15836            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15837            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15838            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15839            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15840            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15841              :                 {
   15842            0 :                   {
   15843            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15844            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15845            0 :                     if (res) return res;
   15846              :                   }
   15847              :                 }
   15848              :             }
   15849              :           break;
   15850            0 :         case CFN_COND_LEN_COPYSIGN:
   15851            0 :           if (call_expr_nargs (_p1) == 6)
   15852              :     {
   15853            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15854            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15855            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15856            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15857            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15858            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15859            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15860              :                 {
   15861            0 :                   {
   15862            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15863            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15864            0 :                     if (res) return res;
   15865              :                   }
   15866              :                 }
   15867              :             }
   15868              :           break;
   15869              :         default:;
   15870              :         }
   15871              :       break;
   15872       385472 :     default:;
   15873              :     }
   15874       385472 :   switch (TREE_CODE (_p2))
   15875              :     {
   15876            0 :     case VIEW_CONVERT_EXPR:
   15877            0 :       {
   15878            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15879            0 :         switch (TREE_CODE (_q40))
   15880              :           {
   15881            0 :           case CALL_EXPR:
   15882            0 :             switch (get_call_combined_fn (_q40))
   15883              :               {
   15884            0 :               case CFN_COND_LEN_ADD:
   15885            0 :                 if (call_expr_nargs (_q40) == 6)
   15886              :     {
   15887            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15888            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15889            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15890            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15891            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15892            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15893            0 :                     {
   15894            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15895            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15896            0 :                       if (res) return res;
   15897              :                     }
   15898              :                   }
   15899              :                 break;
   15900            0 :               case CFN_COND_LEN_AND:
   15901            0 :                 if (call_expr_nargs (_q40) == 6)
   15902              :     {
   15903            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15904            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15905            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15906            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15907            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15908            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15909            0 :                     {
   15910            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15911            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15912            0 :                       if (res) return res;
   15913              :                     }
   15914              :                   }
   15915              :                 break;
   15916            0 :               case CFN_COND_LEN_DIV:
   15917            0 :                 if (call_expr_nargs (_q40) == 6)
   15918              :     {
   15919            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15920            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15921            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15922            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15923            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15924            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15925            0 :                     {
   15926            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15927            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15928            0 :                       if (res) return res;
   15929              :                     }
   15930              :                   }
   15931              :                 break;
   15932            0 :               case CFN_COND_LEN_IOR:
   15933            0 :                 if (call_expr_nargs (_q40) == 6)
   15934              :     {
   15935            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15936            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15937            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15938            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15939            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15940            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15941            0 :                     {
   15942            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15943            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15944            0 :                       if (res) return res;
   15945              :                     }
   15946              :                   }
   15947              :                 break;
   15948            0 :               case CFN_COND_LEN_MAX:
   15949            0 :                 if (call_expr_nargs (_q40) == 6)
   15950              :     {
   15951            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15952            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15953            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15954            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15955            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15956            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15957            0 :                     {
   15958            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15959            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15960            0 :                       if (res) return res;
   15961              :                     }
   15962              :                   }
   15963              :                 break;
   15964            0 :               case CFN_COND_LEN_MIN:
   15965            0 :                 if (call_expr_nargs (_q40) == 6)
   15966              :     {
   15967            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15968            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15969            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15970            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15971            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15972            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15973            0 :                     {
   15974            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15975            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15976            0 :                       if (res) return res;
   15977              :                     }
   15978              :                   }
   15979              :                 break;
   15980            0 :               case CFN_COND_LEN_MOD:
   15981            0 :                 if (call_expr_nargs (_q40) == 6)
   15982              :     {
   15983            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15984            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15985            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15986            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15987            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15988            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15989            0 :                     {
   15990            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15991            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15992            0 :                       if (res) return res;
   15993              :                     }
   15994              :                   }
   15995              :                 break;
   15996            0 :               case CFN_COND_LEN_MUL:
   15997            0 :                 if (call_expr_nargs (_q40) == 6)
   15998              :     {
   15999            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16000            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16001            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16002            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16003            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16004            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16005            0 :                     {
   16006            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16007            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16008            0 :                       if (res) return res;
   16009              :                     }
   16010              :                   }
   16011              :                 break;
   16012            0 :               case CFN_COND_LEN_SHL:
   16013            0 :                 if (call_expr_nargs (_q40) == 6)
   16014              :     {
   16015            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16016            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16017            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16018            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16019            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16020            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16021            0 :                     {
   16022            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16023            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16024            0 :                       if (res) return res;
   16025              :                     }
   16026              :                   }
   16027              :                 break;
   16028            0 :               case CFN_COND_LEN_SHR:
   16029            0 :                 if (call_expr_nargs (_q40) == 6)
   16030              :     {
   16031            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16032            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16033            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16034            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16035            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16036            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16037            0 :                     {
   16038            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16039            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16040            0 :                       if (res) return res;
   16041              :                     }
   16042              :                   }
   16043              :                 break;
   16044            0 :               case CFN_COND_LEN_SUB:
   16045            0 :                 if (call_expr_nargs (_q40) == 6)
   16046              :     {
   16047            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16048            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16049            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16050            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16051            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16052            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16053            0 :                     {
   16054            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16055            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16056            0 :                       if (res) return res;
   16057              :                     }
   16058              :                   }
   16059              :                 break;
   16060            0 :               case CFN_COND_LEN_XOR:
   16061            0 :                 if (call_expr_nargs (_q40) == 6)
   16062              :     {
   16063            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16064            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16065            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16066            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16067            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16068            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16069            0 :                     {
   16070            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16071            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16072            0 :                       if (res) return res;
   16073              :                     }
   16074              :                   }
   16075              :                 break;
   16076            0 :               case CFN_COND_LEN_FMAX:
   16077            0 :                 if (call_expr_nargs (_q40) == 6)
   16078              :     {
   16079            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16080            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16081            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16082            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16083            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16084            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16085            0 :                     {
   16086            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16087            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16088            0 :                       if (res) return res;
   16089              :                     }
   16090              :                   }
   16091              :                 break;
   16092            0 :               case CFN_COND_LEN_FMIN:
   16093            0 :                 if (call_expr_nargs (_q40) == 6)
   16094              :     {
   16095            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16096            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16097            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16098            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16099            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16100            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16101            0 :                     {
   16102            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16103            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16104            0 :                       if (res) return res;
   16105              :                     }
   16106              :                   }
   16107              :                 break;
   16108            0 :               case CFN_COND_LEN_RDIV:
   16109            0 :                 if (call_expr_nargs (_q40) == 6)
   16110              :     {
   16111            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16112            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16113            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16114            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16115            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16116            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16117            0 :                     {
   16118            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16119            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16120            0 :                       if (res) return res;
   16121              :                     }
   16122              :                   }
   16123              :                 break;
   16124            0 :               case CFN_COND_LEN_COPYSIGN:
   16125            0 :                 if (call_expr_nargs (_q40) == 6)
   16126              :     {
   16127            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16128            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16129            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16130            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16131            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16132            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16133            0 :                     {
   16134            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16135            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16136            0 :                       if (res) return res;
   16137              :                     }
   16138              :                   }
   16139              :                 break;
   16140              :               default:;
   16141              :               }
   16142              :             break;
   16143              :           default:;
   16144              :           }
   16145              :         break;
   16146              :       }
   16147           12 :     case CALL_EXPR:
   16148           12 :       switch (get_call_combined_fn (_p2))
   16149              :         {
   16150            0 :         case CFN_COND_LEN_ADD:
   16151            0 :           if (call_expr_nargs (_p2) == 6)
   16152              :     {
   16153            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16154            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16155            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16156            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16157            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16158            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16159            0 :               {
   16160            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16161            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16162            0 :                 if (res) return res;
   16163              :               }
   16164              :             }
   16165              :           break;
   16166            0 :         case CFN_COND_LEN_AND:
   16167            0 :           if (call_expr_nargs (_p2) == 6)
   16168              :     {
   16169            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16170            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16171            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16172            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16173            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16174            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16175            0 :               {
   16176            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16177            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16178            0 :                 if (res) return res;
   16179              :               }
   16180              :             }
   16181              :           break;
   16182            0 :         case CFN_COND_LEN_DIV:
   16183            0 :           if (call_expr_nargs (_p2) == 6)
   16184              :     {
   16185            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16186            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16187            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16188            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16189            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16190            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16191            0 :               {
   16192            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16193            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16194            0 :                 if (res) return res;
   16195              :               }
   16196              :             }
   16197              :           break;
   16198            0 :         case CFN_COND_LEN_IOR:
   16199            0 :           if (call_expr_nargs (_p2) == 6)
   16200              :     {
   16201            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16202            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16203            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16204            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16205            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16206            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16207            0 :               {
   16208            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16209            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16210            0 :                 if (res) return res;
   16211              :               }
   16212              :             }
   16213              :           break;
   16214            0 :         case CFN_COND_LEN_MAX:
   16215            0 :           if (call_expr_nargs (_p2) == 6)
   16216              :     {
   16217            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16218            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16219            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16220            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16221            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16222            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16223            0 :               {
   16224            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16225            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16226            0 :                 if (res) return res;
   16227              :               }
   16228              :             }
   16229              :           break;
   16230            0 :         case CFN_COND_LEN_MIN:
   16231            0 :           if (call_expr_nargs (_p2) == 6)
   16232              :     {
   16233            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16234            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16235            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16236            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16237            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16238            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16239            0 :               {
   16240            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16241            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16242            0 :                 if (res) return res;
   16243              :               }
   16244              :             }
   16245              :           break;
   16246            0 :         case CFN_COND_LEN_MOD:
   16247            0 :           if (call_expr_nargs (_p2) == 6)
   16248              :     {
   16249            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16250            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16251            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16252            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16253            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16254            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16255            0 :               {
   16256            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16257            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16258            0 :                 if (res) return res;
   16259              :               }
   16260              :             }
   16261              :           break;
   16262            0 :         case CFN_COND_LEN_MUL:
   16263            0 :           if (call_expr_nargs (_p2) == 6)
   16264              :     {
   16265            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16266            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16267            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16268            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16269            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16270            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16271            0 :               {
   16272            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16273            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16274            0 :                 if (res) return res;
   16275              :               }
   16276              :             }
   16277              :           break;
   16278            0 :         case CFN_COND_LEN_SHL:
   16279            0 :           if (call_expr_nargs (_p2) == 6)
   16280              :     {
   16281            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16282            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16283            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16284            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16285            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16286            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16287            0 :               {
   16288            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16289            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16290            0 :                 if (res) return res;
   16291              :               }
   16292              :             }
   16293              :           break;
   16294            0 :         case CFN_COND_LEN_SHR:
   16295            0 :           if (call_expr_nargs (_p2) == 6)
   16296              :     {
   16297            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16298            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16299            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16300            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16301            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16302            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16303            0 :               {
   16304            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16305            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16306            0 :                 if (res) return res;
   16307              :               }
   16308              :             }
   16309              :           break;
   16310            0 :         case CFN_COND_LEN_SUB:
   16311            0 :           if (call_expr_nargs (_p2) == 6)
   16312              :     {
   16313            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16314            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16315            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16316            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16317            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16318            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16319            0 :               {
   16320            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16321            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16322            0 :                 if (res) return res;
   16323              :               }
   16324              :             }
   16325              :           break;
   16326            0 :         case CFN_COND_LEN_XOR:
   16327            0 :           if (call_expr_nargs (_p2) == 6)
   16328              :     {
   16329            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16330            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16331            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16332            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16333            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16334            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16335            0 :               {
   16336            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16337            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16338            0 :                 if (res) return res;
   16339              :               }
   16340              :             }
   16341              :           break;
   16342            0 :         case CFN_COND_LEN_FMAX:
   16343            0 :           if (call_expr_nargs (_p2) == 6)
   16344              :     {
   16345            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16346            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16347            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16348            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16349            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16350            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16351            0 :               {
   16352            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16353            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16354            0 :                 if (res) return res;
   16355              :               }
   16356              :             }
   16357              :           break;
   16358            0 :         case CFN_COND_LEN_FMIN:
   16359            0 :           if (call_expr_nargs (_p2) == 6)
   16360              :     {
   16361            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16362            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16363            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16364            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16365            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16366            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16367            0 :               {
   16368            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16369            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16370            0 :                 if (res) return res;
   16371              :               }
   16372              :             }
   16373              :           break;
   16374            0 :         case CFN_COND_LEN_RDIV:
   16375            0 :           if (call_expr_nargs (_p2) == 6)
   16376              :     {
   16377            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16378            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16379            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16380            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16381            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16382            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16383            0 :               {
   16384            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16385            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16386            0 :                 if (res) return res;
   16387              :               }
   16388              :             }
   16389              :           break;
   16390            0 :         case CFN_COND_LEN_COPYSIGN:
   16391            0 :           if (call_expr_nargs (_p2) == 6)
   16392              :     {
   16393            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16394            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16395            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16396            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16397            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16398            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16399            0 :               {
   16400            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16401            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16402            0 :                 if (res) return res;
   16403              :               }
   16404              :             }
   16405              :           break;
   16406              :         default:;
   16407              :         }
   16408              :       break;
   16409       385472 :     default:;
   16410              :     }
   16411       385472 :   switch (TREE_CODE (_p1))
   16412              :     {
   16413            0 :     case VIEW_CONVERT_EXPR:
   16414            0 :       {
   16415            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16416            0 :         switch (TREE_CODE (_q30))
   16417              :           {
   16418            0 :           case CALL_EXPR:
   16419            0 :             switch (get_call_combined_fn (_q30))
   16420              :               {
   16421            0 :               case CFN_COND_LEN_FMA:
   16422            0 :                 if (call_expr_nargs (_q30) == 7)
   16423              :     {
   16424            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16425            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16426            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16427            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16428            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16429            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16430            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16431            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16432              :                       {
   16433            0 :                         {
   16434            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16435            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16436            0 :                           if (res) return res;
   16437              :                         }
   16438              :                       }
   16439              :                   }
   16440              :                 break;
   16441            0 :               case CFN_COND_LEN_FMS:
   16442            0 :                 if (call_expr_nargs (_q30) == 7)
   16443              :     {
   16444            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16445            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16446            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16447            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16448            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16449            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16450            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16451            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16452              :                       {
   16453            0 :                         {
   16454            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16455            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16456            0 :                           if (res) return res;
   16457              :                         }
   16458              :                       }
   16459              :                   }
   16460              :                 break;
   16461            0 :               case CFN_COND_LEN_FNMA:
   16462            0 :                 if (call_expr_nargs (_q30) == 7)
   16463              :     {
   16464            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16465            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16466            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16467            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16468            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16469            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16470            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16471            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16472              :                       {
   16473            0 :                         {
   16474            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16475            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16476            0 :                           if (res) return res;
   16477              :                         }
   16478              :                       }
   16479              :                   }
   16480              :                 break;
   16481            0 :               case CFN_COND_LEN_FNMS:
   16482            0 :                 if (call_expr_nargs (_q30) == 7)
   16483              :     {
   16484            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16485            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16486            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16487            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16488            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16489            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16490            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16491            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16492              :                       {
   16493            0 :                         {
   16494            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16495            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16496            0 :                           if (res) return res;
   16497              :                         }
   16498              :                       }
   16499              :                   }
   16500              :                 break;
   16501              :               default:;
   16502              :               }
   16503              :             break;
   16504              :           default:;
   16505              :           }
   16506              :         break;
   16507              :       }
   16508           12 :     case CALL_EXPR:
   16509           12 :       switch (get_call_combined_fn (_p1))
   16510              :         {
   16511            0 :         case CFN_COND_LEN_FMA:
   16512            0 :           if (call_expr_nargs (_p1) == 7)
   16513              :     {
   16514            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16515            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16516            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16517            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16518            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16519            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16520            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16521            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16522              :                 {
   16523            0 :                   {
   16524            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16525            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16526            0 :                     if (res) return res;
   16527              :                   }
   16528              :                 }
   16529              :             }
   16530              :           break;
   16531            0 :         case CFN_COND_LEN_FMS:
   16532            0 :           if (call_expr_nargs (_p1) == 7)
   16533              :     {
   16534            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16535            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16536            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16537            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16538            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16539            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16540            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16541            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16542              :                 {
   16543            0 :                   {
   16544            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16545            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16546            0 :                     if (res) return res;
   16547              :                   }
   16548              :                 }
   16549              :             }
   16550              :           break;
   16551            0 :         case CFN_COND_LEN_FNMA:
   16552            0 :           if (call_expr_nargs (_p1) == 7)
   16553              :     {
   16554            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16555            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16556            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16557            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16558            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16559            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16560            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16561            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16562              :                 {
   16563            0 :                   {
   16564            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16565            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16566            0 :                     if (res) return res;
   16567              :                   }
   16568              :                 }
   16569              :             }
   16570              :           break;
   16571            0 :         case CFN_COND_LEN_FNMS:
   16572            0 :           if (call_expr_nargs (_p1) == 7)
   16573              :     {
   16574            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16575            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16576            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16577            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16578            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16579            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16580            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16581            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16582              :                 {
   16583            0 :                   {
   16584            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16585            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16586            0 :                     if (res) return res;
   16587              :                   }
   16588              :                 }
   16589              :             }
   16590              :           break;
   16591              :         default:;
   16592              :         }
   16593              :       break;
   16594       385472 :     default:;
   16595              :     }
   16596       385472 :   switch (TREE_CODE (_p2))
   16597              :     {
   16598            0 :     case VIEW_CONVERT_EXPR:
   16599            0 :       {
   16600            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16601            0 :         switch (TREE_CODE (_q40))
   16602              :           {
   16603            0 :           case CALL_EXPR:
   16604            0 :             switch (get_call_combined_fn (_q40))
   16605              :               {
   16606            0 :               case CFN_COND_LEN_FMA:
   16607            0 :                 if (call_expr_nargs (_q40) == 7)
   16608              :     {
   16609            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16610            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16611            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16612            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16613            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16614            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16615            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16616            0 :                     {
   16617            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16618            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16619            0 :                       if (res) return res;
   16620              :                     }
   16621              :                   }
   16622              :                 break;
   16623            0 :               case CFN_COND_LEN_FMS:
   16624            0 :                 if (call_expr_nargs (_q40) == 7)
   16625              :     {
   16626            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16627            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16628            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16629            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16630            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16631            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16632            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16633            0 :                     {
   16634            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16635            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16636            0 :                       if (res) return res;
   16637              :                     }
   16638              :                   }
   16639              :                 break;
   16640            0 :               case CFN_COND_LEN_FNMA:
   16641            0 :                 if (call_expr_nargs (_q40) == 7)
   16642              :     {
   16643            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16644            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16645            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16646            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16647            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16648            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16649            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16650            0 :                     {
   16651            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16652            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16653            0 :                       if (res) return res;
   16654              :                     }
   16655              :                   }
   16656              :                 break;
   16657            0 :               case CFN_COND_LEN_FNMS:
   16658            0 :                 if (call_expr_nargs (_q40) == 7)
   16659              :     {
   16660            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16661            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16662            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16663            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16664            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16665            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16666            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16667            0 :                     {
   16668            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16669            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16670            0 :                       if (res) return res;
   16671              :                     }
   16672              :                   }
   16673              :                 break;
   16674              :               default:;
   16675              :               }
   16676              :             break;
   16677              :           default:;
   16678              :           }
   16679              :         break;
   16680              :       }
   16681           12 :     case CALL_EXPR:
   16682           12 :       switch (get_call_combined_fn (_p2))
   16683              :         {
   16684            0 :         case CFN_COND_LEN_FMA:
   16685            0 :           if (call_expr_nargs (_p2) == 7)
   16686              :     {
   16687            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16688            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16689            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16690            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16691            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16692            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16693            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16694            0 :               {
   16695            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16696            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16697            0 :                 if (res) return res;
   16698              :               }
   16699              :             }
   16700              :           break;
   16701            0 :         case CFN_COND_LEN_FMS:
   16702            0 :           if (call_expr_nargs (_p2) == 7)
   16703              :     {
   16704            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16705            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16706            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16707            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16708            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16709            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16710            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16711            0 :               {
   16712            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16713            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16714            0 :                 if (res) return res;
   16715              :               }
   16716              :             }
   16717              :           break;
   16718            0 :         case CFN_COND_LEN_FNMA:
   16719            0 :           if (call_expr_nargs (_p2) == 7)
   16720              :     {
   16721            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16722            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16723            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16724            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16725            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16726            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16727            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16728            0 :               {
   16729            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16730            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16731            0 :                 if (res) return res;
   16732              :               }
   16733              :             }
   16734              :           break;
   16735            0 :         case CFN_COND_LEN_FNMS:
   16736            0 :           if (call_expr_nargs (_p2) == 7)
   16737              :     {
   16738            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16739            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16740            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16741            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16742            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16743            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16744            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16745            0 :               {
   16746            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16747            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16748            0 :                 if (res) return res;
   16749              :               }
   16750              :             }
   16751              :           break;
   16752              :         default:;
   16753              :         }
   16754              :       break;
   16755       385472 :     default:;
   16756              :     }
   16757       385472 :   switch (TREE_CODE (_p1))
   16758              :     {
   16759           12 :     case CALL_EXPR:
   16760           12 :       switch (get_call_combined_fn (_p1))
   16761              :         {
   16762            0 :         case CFN_COND_ADD:
   16763            0 :           if (call_expr_nargs (_p1) == 4)
   16764              :     {
   16765            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16766            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16767            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16768            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16769            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16770              :                 {
   16771            0 :                   {
   16772            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16773            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16774            0 :                     if (res) return res;
   16775              :                   }
   16776              :                 }
   16777              :             }
   16778              :           break;
   16779            0 :         case CFN_COND_AND:
   16780            0 :           if (call_expr_nargs (_p1) == 4)
   16781              :     {
   16782            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16783            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16784            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16785            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16786            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16787              :                 {
   16788            0 :                   {
   16789            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16790            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16791            0 :                     if (res) return res;
   16792              :                   }
   16793              :                 }
   16794              :             }
   16795              :           break;
   16796            0 :         case CFN_COND_DIV:
   16797            0 :           if (call_expr_nargs (_p1) == 4)
   16798              :     {
   16799            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16800            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16801            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16802            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16803            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16804              :                 {
   16805            0 :                   {
   16806            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16807            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16808            0 :                     if (res) return res;
   16809              :                   }
   16810              :                 }
   16811              :             }
   16812              :           break;
   16813            0 :         case CFN_COND_FMA:
   16814            0 :           if (call_expr_nargs (_p1) == 5)
   16815              :     {
   16816            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16817            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16818            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16819            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16820            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16821            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16822              :                 {
   16823            0 :                   {
   16824            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16825            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16826            0 :                     if (res) return res;
   16827              :                   }
   16828              :                 }
   16829              :             }
   16830              :           break;
   16831            0 :         case CFN_COND_FMS:
   16832            0 :           if (call_expr_nargs (_p1) == 5)
   16833              :     {
   16834            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16835            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16836            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16837            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16838            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16839            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16840              :                 {
   16841            0 :                   {
   16842            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16843            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16844            0 :                     if (res) return res;
   16845              :                   }
   16846              :                 }
   16847              :             }
   16848              :           break;
   16849            0 :         case CFN_COND_IOR:
   16850            0 :           if (call_expr_nargs (_p1) == 4)
   16851              :     {
   16852            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16853            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16854            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16855            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16856            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16857              :                 {
   16858            0 :                   {
   16859            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16860            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16861            0 :                     if (res) return res;
   16862              :                   }
   16863              :                 }
   16864              :             }
   16865              :           break;
   16866            0 :         case CFN_COND_MAX:
   16867            0 :           if (call_expr_nargs (_p1) == 4)
   16868              :     {
   16869            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16870            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16871            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16872            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16873            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16874              :                 {
   16875            0 :                   {
   16876            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16877            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16878            0 :                     if (res) return res;
   16879              :                   }
   16880              :                 }
   16881              :             }
   16882              :           break;
   16883            0 :         case CFN_COND_MIN:
   16884            0 :           if (call_expr_nargs (_p1) == 4)
   16885              :     {
   16886            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16887            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16888            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16889            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16890            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16891              :                 {
   16892            0 :                   {
   16893            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16894            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16895            0 :                     if (res) return res;
   16896              :                   }
   16897              :                 }
   16898              :             }
   16899              :           break;
   16900            0 :         case CFN_COND_MOD:
   16901            0 :           if (call_expr_nargs (_p1) == 4)
   16902              :     {
   16903            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16904            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16905            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16906            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16907            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16908              :                 {
   16909            0 :                   {
   16910            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16911            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16912            0 :                     if (res) return res;
   16913              :                   }
   16914              :                 }
   16915              :             }
   16916              :           break;
   16917            0 :         case CFN_COND_MUL:
   16918            0 :           if (call_expr_nargs (_p1) == 4)
   16919              :     {
   16920            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16921            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16922            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16923            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16924            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16925              :                 {
   16926            0 :                   {
   16927            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16928            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16929            0 :                     if (res) return res;
   16930              :                   }
   16931              :                 }
   16932              :             }
   16933              :           break;
   16934            0 :         case CFN_COND_SHL:
   16935            0 :           if (call_expr_nargs (_p1) == 4)
   16936              :     {
   16937            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16938            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16939            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16940            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16941            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16942              :                 {
   16943            0 :                   {
   16944            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16945            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   16946            0 :                     if (res) return res;
   16947              :                   }
   16948              :                 }
   16949              :             }
   16950              :           break;
   16951            0 :         case CFN_COND_SHR:
   16952            0 :           if (call_expr_nargs (_p1) == 4)
   16953              :     {
   16954            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16955            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16956            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16957            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16958            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16959              :                 {
   16960            0 :                   {
   16961            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16962            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   16963            0 :                     if (res) return res;
   16964              :                   }
   16965              :                 }
   16966              :             }
   16967              :           break;
   16968            0 :         case CFN_COND_SUB:
   16969            0 :           if (call_expr_nargs (_p1) == 4)
   16970              :     {
   16971            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16972            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16973            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16974            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16975            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16976              :                 {
   16977            0 :                   {
   16978            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16979            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   16980            0 :                     if (res) return res;
   16981              :                   }
   16982              :                 }
   16983              :             }
   16984              :           break;
   16985            0 :         case CFN_COND_XOR:
   16986            0 :           if (call_expr_nargs (_p1) == 4)
   16987              :     {
   16988            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16989            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16990            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16991            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16992            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16993              :                 {
   16994            0 :                   {
   16995            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16996            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   16997            0 :                     if (res) return res;
   16998              :                   }
   16999              :                 }
   17000              :             }
   17001              :           break;
   17002            0 :         case CFN_COND_COPYSIGN:
   17003            0 :           if (call_expr_nargs (_p1) == 4)
   17004              :     {
   17005            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17006            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17007            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17008            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17009            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17010              :                 {
   17011            0 :                   {
   17012            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17013            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   17014            0 :                     if (res) return res;
   17015              :                   }
   17016              :                 }
   17017              :             }
   17018              :           break;
   17019            0 :         case CFN_COND_FMAX:
   17020            0 :           if (call_expr_nargs (_p1) == 4)
   17021              :     {
   17022            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17023            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17024            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17025            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17026            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17027              :                 {
   17028            0 :                   {
   17029            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17030            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   17031            0 :                     if (res) return res;
   17032              :                   }
   17033              :                 }
   17034              :             }
   17035              :           break;
   17036            0 :         case CFN_COND_FMIN:
   17037            0 :           if (call_expr_nargs (_p1) == 4)
   17038              :     {
   17039            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17040            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17041            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17042            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17043            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17044              :                 {
   17045            0 :                   {
   17046            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17047            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   17048            0 :                     if (res) return res;
   17049              :                   }
   17050              :                 }
   17051              :             }
   17052              :           break;
   17053            0 :         case CFN_COND_FNMA:
   17054            0 :           if (call_expr_nargs (_p1) == 5)
   17055              :     {
   17056            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17057            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17058            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17059            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17060            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17061            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17062              :                 {
   17063            0 :                   {
   17064            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17065            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   17066            0 :                     if (res) return res;
   17067              :                   }
   17068              :                 }
   17069              :             }
   17070              :           break;
   17071            0 :         case CFN_COND_FNMS:
   17072            0 :           if (call_expr_nargs (_p1) == 5)
   17073              :     {
   17074            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17075            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17076            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17077            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17078            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17079            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17080              :                 {
   17081            0 :                   {
   17082            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17083            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   17084            0 :                     if (res) return res;
   17085              :                   }
   17086              :                 }
   17087              :             }
   17088              :           break;
   17089            0 :         case CFN_COND_RDIV:
   17090            0 :           if (call_expr_nargs (_p1) == 4)
   17091              :     {
   17092            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17093            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17094            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17095            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17096            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17097              :                 {
   17098            0 :                   {
   17099            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17100            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   17101            0 :                     if (res) return res;
   17102              :                   }
   17103              :                 }
   17104              :             }
   17105              :           break;
   17106              :         default:;
   17107              :         }
   17108              :       break;
   17109              :     default:;
   17110              :     }
   17111              :   return NULL_TREE;
   17112              : }
   17113              : #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.