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 % 10764 3945
Test Date: 2026-02-28 14:20:25 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    100151476 : tree_zero_one_valued_p (tree t)
      11              : {
      12    100151476 :   const tree type = TREE_TYPE (t);
      13    100151476 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    100151476 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     94433413 :   {
      16     94433413 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    188866826 :     if (INTEGRAL_TYPE_P (type)
      18     69299671 :  && (TYPE_UNSIGNED (type)
      19     12371246 :  || TYPE_PRECISION (type) > 1)
      20    233032737 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23       485570 :         {
      24       485570 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25       485570 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29     93947843 :   switch (TREE_CODE (t))
      30              :     {
      31       927450 :     case BIT_AND_EXPR:
      32       927450 :       {
      33       927450 :         tree _p0 = TREE_OPERAND (t, 0);
      34       927450 :         tree _p1 = TREE_OPERAND (t, 1);
      35       927450 :         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       927450 :         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     44758778 :     CASE_CONVERT:
      66     44758778 :       {
      67     44758778 :         tree _p0 = TREE_OPERAND (t, 0);
      68     44758778 :         {
      69     44758778 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     89510603 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     40305946 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35377547 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     40305946 :  && INTEGRAL_TYPE_P (type)
      74     40305932 :  && (TYPE_UNSIGNED (type)
      75      1862543 :  || TYPE_PRECISION (type) > 1)
      76    129823488 :  && 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     93947843 :     default:;
      88              :     }
      89     93947843 : if (tree_truth_valued_p (t))
      90              :   {
      91       157548 :     {
      92       157548 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       157548 :       if (INTEGRAL_TYPE_P (type)
      94       157548 :  && (TYPE_UNSIGNED (type)
      95       157482 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       157530 :           {
      99       157530 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100       157530 :             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        18720 : 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        18720 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     259        18720 :   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          429 : 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          429 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     661          429 :   if ((TREE_CODE (captures[2]) == INTEGER_CST
     662          398 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     663          429 :  || ((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          400 :       {
     670          400 :  bool one_before = false;
     671          400 :  bool one_after = false;
     672          400 :  int cmp = 0;
     673          400 :  bool allbits = true;
     674          400 :  if (TREE_CODE (captures[2]) == INTEGER_CST
     675          398 :  && TREE_CODE (captures[5]) == INTEGER_CST)
     676              :  {
     677          398 :  allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
     678          398 :  auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
     679          398 :  auto t2 = wi::to_wide (captures[5]);
     680          398 :  cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
     681          398 :  if (cmp < 0
     682          398 :  && t1 == t2 - 1)
     683              :  one_before = true;
     684          398 :  if (cmp > 0
     685          398 :  && t1 == t2 + 1)
     686              :  one_after = true;
     687              :  }
     688          400 :  bool val;
     689          400 :  switch (code2)
     690              :  {
     691          384 :  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          400 :           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          393 :               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          386 :                   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          386 :                       if (code1 == EQ_EXPR
     752          386 :  && code2 == GT_EXPR
     753            0 :  && cmp == 0
     754            0 :  && allbits
     755          386 :  && ((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          386 :                           if (code1 == EQ_EXPR
     778          386 :  && code2 == LT_EXPR
     779            2 :  && cmp == 0
     780            2 :  && allbits
     781          388 :  && ((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          384 :                               if (code1 == EQ_EXPR
     804          384 :  && code2 == GE_EXPR
     805              :  && one_before
     806            0 :  && allbits
     807          384 :  && ((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          384 :                                   if (code1 == EQ_EXPR
     840          384 :  && code2 == LE_EXPR
     841              :  && one_after
     842            0 :  && allbits
     843          384 :  && ((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       142769 : 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       142769 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1036       285538 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    1037       283996 :  && (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
    1038       128260 :  || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
    1039              :  && (CONSTANT_CLASS_P (captures[2]) || (single_use (captures[1]) && single_use (captures[0])))
    1040       141994 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1041       426761 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[3]))
    1042              : )
    1043              :     {
    1044       141986 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail350;
    1045       141986 :       {
    1046       141986 :         tree res_op0;
    1047       141986 :         res_op0 = captures[2];
    1048       141986 :         tree res_op1;
    1049       141986 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[2]));
    1050       141986 :         tree _r;
    1051       141986 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1052       141986 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1053            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1054       141986 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 260, __FILE__, __LINE__, true);
    1055       141986 :         return _r;
    1056              :       }
    1057            0 : next_after_fail350:;
    1058              :     }
    1059              :   return NULL_TREE;
    1060              : }
    1061              : 
    1062              : tree
    1063        12149 : 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        12149 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1068        12149 :   if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
    1069        12149 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
    1070        12149 :  && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
    1071              : )
    1072              :     {
    1073        12149 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail372;
    1074        12149 :       {
    1075        12149 :         tree res_op0;
    1076        12149 :         res_op0 = captures[3];
    1077        12149 :         tree res_op1;
    1078        12149 :         res_op1 =  build_zero_cst (TREE_TYPE (captures[3]));
    1079        12149 :         tree _r;
    1080        12149 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1081        12149 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1082            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1083        12149 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 286, __FILE__, __LINE__, true);
    1084        12149 :         return _r;
    1085              :       }
    1086            0 : next_after_fail372:;
    1087              :     }
    1088              :   return NULL_TREE;
    1089              : }
    1090              : 
    1091              : tree
    1092     40247150 : 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     40247150 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1097     80494448 :   if (wi::bit_and_not (get_known_nonzero_bits (captures[1]),
    1098    120741450 :  get_nonzero_bits (captures[0])) != 0
    1099              : )
    1100              :     {
    1101        83304 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail381;
    1102        83304 :       {
    1103        83304 :         tree _r;
    1104        83304 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1105        83304 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1106            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1107        83304 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1108            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1109        83304 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 294, __FILE__, __LINE__, true);
    1110        83304 :         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        15981 : 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        15981 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1187        15981 :   if (single_use (captures[0])
    1188              : )
    1189              :     {
    1190        15981 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail415;
    1191        15981 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail415;
    1192        15981 :       {
    1193        15981 :         tree res_op0;
    1194        15981 :         res_op0 = captures[1];
    1195        15981 :         tree res_op1;
    1196        15981 :         res_op1 = captures[2];
    1197        15981 :         tree _r;
    1198        15981 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1199        15981 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 327, __FILE__, __LINE__, true);
    1200        15981 :         return _r;
    1201              :       }
    1202              : next_after_fail415:;
    1203              :     }
    1204              :   return NULL_TREE;
    1205              : }
    1206              : 
    1207              : tree
    1208       925854 : 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       925854 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1214       925854 :   if (single_use (captures[0])
    1215       925854 :  && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
    1216              : )
    1217              :     {
    1218       925854 :       {
    1219       925854 :  tree otype = TREE_TYPE (captures[2]);
    1220       925854 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail426;
    1221       925854 :           {
    1222       925854 :             tree res_op0;
    1223       925854 :             {
    1224       925854 :               tree _o1[1], _r1;
    1225       925854 :               _o1[0] = captures[1];
    1226       925854 :               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       925854 :               res_op0 = _r1;
    1233              :             }
    1234       925854 :             tree res_op1;
    1235       925854 :             {
    1236       925854 :               tree _o1[1], _r1;
    1237       925854 :               _o1[0] = captures[2];
    1238       925854 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1239       925854 :               res_op1 = _r1;
    1240              :             }
    1241       925854 :             tree _r;
    1242       925854 :             _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1243       925854 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 338, __FILE__, __LINE__, true);
    1244       925854 :             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       107932 : 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       107932 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1426       107932 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail506;
    1427       107910 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
    1428       107910 :   {
    1429       107910 :     tree res_op0;
    1430       107910 :     res_op0 = captures[0];
    1431       107910 :     tree res_op1;
    1432       107910 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[1]));
    1433       107910 :     tree _r;
    1434       107910 :     _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1435       107910 :     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       129022 : 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       129022 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1646       129022 :   if (cmp != NE_EXPR
    1647       123802 :  || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1648       141481 :  || ! tree_expr_maybe_nan_p (captures[0])
    1649              : )
    1650              :     {
    1651       122377 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail564;
    1652       122377 :       {
    1653       122377 :         tree _r;
    1654       122377 :         _r =  constant_boolean_node (false, type);
    1655       122377 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1656            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1657       122377 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 458, __FILE__, __LINE__, true);
    1658       122377 :         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          164 : 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          164 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1868          164 :   if (bitwise_equal_p (captures[0], captures[3])
    1869          164 :  && 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     22929087 : 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     22929087 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2023     45852158 :   if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
    2024        10419 :  || POINTER_TYPE_P (TREE_TYPE (captures[2]))
    2025         1962 :  || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
    2026     45852158 :  && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2027              : )
    2028              :     {
    2029     22929087 :       {
    2030     22929087 :  tree cst = uniform_integer_cst_p (captures[2]);
    2031     22929087 :  tree arg1_type = TREE_TYPE (cst);
    2032     22929087 :  unsigned int prec = TYPE_PRECISION (arg1_type);
    2033     22929087 :  wide_int max = wi::max_value (arg1_type);
    2034     22929087 :  wide_int signed_max = wi::max_value (prec, SIGNED);
    2035     22929087 :  wide_int min = wi::min_value (arg1_type);
    2036     22929087 :           if (wi::to_wide (cst) == max
    2037              : )
    2038              :             {
    2039       187820 :               if (cmp == GT_EXPR
    2040              : )
    2041              :                 {
    2042       117364 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail684;
    2043       117364 :                   {
    2044       117364 :                     tree _r;
    2045       117364 :                     _r =  constant_boolean_node (false, type);
    2046       117364 :                     if (TREE_SIDE_EFFECTS (captures[0]))
    2047           80 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2048       117364 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    2049            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2050       117364 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 558, __FILE__, __LINE__, true);
    2051       117364 :                     return _r;
    2052              :                   }
    2053            0 : next_after_fail684:;
    2054              :                 }
    2055              :               else
    2056              :                 {
    2057        70456 :                   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        70449 :                       if (cmp == LE_EXPR
    2076              : )
    2077              :                         {
    2078        70439 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail686;
    2079        70439 :                           {
    2080        70439 :                             tree _r;
    2081        70439 :                             _r =  constant_boolean_node (true, type);
    2082        70439 :                             if (TREE_SIDE_EFFECTS (captures[0]))
    2083           23 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2084        70439 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2085            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2086        70439 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 560, __FILE__, __LINE__, true);
    2087        70439 :                             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     22741267 :               if (wi::to_wide (cst) == min
    2116              : )
    2117              :                 {
    2118      1536122 :                   if (cmp == LT_EXPR
    2119              : )
    2120              :                     {
    2121       551353 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail688;
    2122       551353 :                       {
    2123       551353 :                         tree _r;
    2124       551353 :                         _r =  constant_boolean_node (false, type);
    2125       551353 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    2126           38 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2127       551353 :                         if (TREE_SIDE_EFFECTS (captures[2]))
    2128            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2129       551353 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 562, __FILE__, __LINE__, true);
    2130       551353 :                         return _r;
    2131              :                       }
    2132            0 : next_after_fail688:;
    2133              :                     }
    2134              :                   else
    2135              :                     {
    2136       984769 :                       if (cmp == LE_EXPR
    2137              : )
    2138              :                         {
    2139       116881 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail689;
    2140       116881 :                           {
    2141       116881 :                             tree res_op0;
    2142       116881 :                             res_op0 = captures[0];
    2143       116881 :                             tree res_op1;
    2144       116881 :                             res_op1 = captures[2];
    2145       116881 :                             tree _r;
    2146       116881 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2147       116881 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 563, __FILE__, __LINE__, true);
    2148       116881 :                             return _r;
    2149              :                           }
    2150            0 : next_after_fail689:;
    2151              :                         }
    2152              :                       else
    2153              :                         {
    2154       867888 :                           if (cmp == GE_EXPR
    2155              : )
    2156              :                             {
    2157       269606 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail690;
    2158       269606 :                               {
    2159       269606 :                                 tree _r;
    2160       269606 :                                 _r =  constant_boolean_node (true, type);
    2161       269606 :                                 if (TREE_SIDE_EFFECTS (captures[0]))
    2162          125 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2163       269606 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2164            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2165       269606 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 564, __FILE__, __LINE__, true);
    2166       269606 :                                 return _r;
    2167              :                               }
    2168            0 : next_after_fail690:;
    2169              :                             }
    2170              :                           else
    2171              :                             {
    2172       598282 :                               if (cmp == GT_EXPR
    2173              : )
    2174              :                                 {
    2175       598282 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail691;
    2176       598282 :                                   {
    2177       598282 :                                     tree res_op0;
    2178       598282 :                                     res_op0 = captures[0];
    2179       598282 :                                     tree res_op1;
    2180       598282 :                                     res_op1 = captures[2];
    2181       598282 :                                     tree _r;
    2182       598282 :                                     _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2183       598282 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 565, __FILE__, __LINE__, true);
    2184       598282 :                                     return _r;
    2185              :                                   }
    2186            0 : next_after_fail691:;
    2187              :                                 }
    2188              :                             }
    2189              :                         }
    2190              :                     }
    2191              :                 }
    2192              :               else
    2193              :                 {
    2194     21205150 :                   if (wi::to_wide (cst) == max - 1
    2195              : )
    2196              :                     {
    2197       406424 :                       if (cmp == GT_EXPR
    2198              : )
    2199              :                         {
    2200       154377 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail692;
    2201       154377 :                           {
    2202       154377 :                             tree res_op0;
    2203       154377 :                             res_op0 = captures[0];
    2204       154377 :                             tree res_op1;
    2205       154377 :                             res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2206       154377 :  wide_int_to_tree (TREE_TYPE (cst),
    2207       154377 :  wi::to_wide (cst)
    2208       308754 :  + 1));
    2209       154377 :                             tree _r;
    2210       154377 :                             _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2211       154377 :                             if (TREE_SIDE_EFFECTS (captures[2]))
    2212            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2213       154377 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 566, __FILE__, __LINE__, true);
    2214       154377 :                             return _r;
    2215              :                           }
    2216            0 : next_after_fail692:;
    2217              :                         }
    2218              :                       else
    2219              :                         {
    2220       252047 :                           if (cmp == LE_EXPR
    2221              : )
    2222              :                             {
    2223       252047 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail693;
    2224       252047 :                               {
    2225       252047 :                                 tree res_op0;
    2226       252047 :                                 res_op0 = captures[0];
    2227       252047 :                                 tree res_op1;
    2228       252047 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2229       252047 :  wide_int_to_tree (TREE_TYPE (cst),
    2230       252047 :  wi::to_wide (cst)
    2231       504094 :  + 1));
    2232       252047 :                                 tree _r;
    2233       252047 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2234       252047 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2235            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2236       252047 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
    2237       252047 :                                 return _r;
    2238              :                               }
    2239            0 : next_after_fail693:;
    2240              :                             }
    2241              :                         }
    2242              :                     }
    2243              :                   else
    2244              :                     {
    2245     20798726 :                       if (wi::to_wide (cst) == min + 1
    2246              : )
    2247              :                         {
    2248       732207 :                           if (cmp == GE_EXPR
    2249              : )
    2250              :                             {
    2251        59390 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail694;
    2252        59390 :                               {
    2253        59390 :                                 tree res_op0;
    2254        59390 :                                 res_op0 = captures[0];
    2255        59390 :                                 tree res_op1;
    2256        59390 :                                 res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2257        59390 :  wide_int_to_tree (TREE_TYPE (cst),
    2258        59390 :  wi::to_wide (cst)
    2259       118780 :  - 1));
    2260        59390 :                                 tree _r;
    2261        59390 :                                 _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
    2262        59390 :                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2263            0 :                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2264        59390 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 568, __FILE__, __LINE__, true);
    2265        59390 :                                 return _r;
    2266              :                               }
    2267            0 : next_after_fail694:;
    2268              :                             }
    2269              :                           else
    2270              :                             {
    2271       672817 :                               if (cmp == LT_EXPR
    2272              : )
    2273              :                                 {
    2274        28628 :                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail695;
    2275        28628 :                                   {
    2276        28628 :                                     tree res_op0;
    2277        28628 :                                     res_op0 = captures[0];
    2278        28628 :                                     tree res_op1;
    2279        28628 :                                     res_op1 =  build_uniform_cst (TREE_TYPE (captures[2]),
    2280        28628 :  wide_int_to_tree (TREE_TYPE (cst),
    2281        28628 :  wi::to_wide (cst)
    2282        57256 :  - 1));
    2283        28628 :                                     tree _r;
    2284        28628 :                                     _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
    2285        28628 :                                     if (TREE_SIDE_EFFECTS (captures[2]))
    2286            0 :                                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2287        28628 :                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 569, __FILE__, __LINE__, true);
    2288        28628 :                                     return _r;
    2289              :                                   }
    2290            0 : next_after_fail695:;
    2291              :                                 }
    2292              :                             }
    2293              :                         }
    2294              :                       else
    2295              :                         {
    2296     20066514 :                           if (wi::to_wide (cst) == signed_max
    2297       162205 :  && TYPE_UNSIGNED (arg1_type)
    2298       162205 :  && TYPE_MODE (arg1_type) != BLKmode
    2299     20066521 :  && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
    2300     20228146 :  && INTEGRAL_TYPE_P (arg1_type)
    2301              : )
    2302              :                             {
    2303       161625 :                               if (cmp == LE_EXPR || cmp == GT_EXPR
    2304              : )
    2305              :                                 {
    2306       161625 :                                   {
    2307       161625 :  tree st = signed_type_for (TREE_TYPE (captures[2]));
    2308       161625 :                                       if (cst == captures[2] && cmp == LE_EXPR
    2309              : )
    2310              :                                         {
    2311       113181 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail696;
    2312       113181 :                                           {
    2313       113181 :                                             tree res_op0;
    2314       113181 :                                             {
    2315       113181 :                                               tree _o1[1], _r1;
    2316       113181 :                                               _o1[0] = captures[1];
    2317       113181 :                                               if (TREE_TYPE (_o1[0]) != st)
    2318              :                                                 {
    2319       113181 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2320              :                                                 }
    2321              :                                               else
    2322              :                                                 _r1 = _o1[0];
    2323       113181 :                                               res_op0 = _r1;
    2324              :                                             }
    2325       113181 :                                             tree res_op1;
    2326       113181 :                                             res_op1 =  build_zero_cst (st);
    2327       113181 :                                             tree _r;
    2328       113181 :                                             _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
    2329       113181 :                                             if (TREE_SIDE_EFFECTS (captures[2]))
    2330            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2331       113181 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
    2332       113181 :                                             return _r;
    2333              :                                           }
    2334            0 : next_after_fail696:;
    2335            0 :                                         }
    2336              :                                       else
    2337              :                                         {
    2338        48444 :                                           if (cst == captures[2] && cmp == GT_EXPR
    2339              : )
    2340              :                                             {
    2341        48358 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
    2342        48358 :                                               {
    2343        48358 :                                                 tree res_op0;
    2344        48358 :                                                 {
    2345        48358 :                                                   tree _o1[1], _r1;
    2346        48358 :                                                   _o1[0] = captures[1];
    2347        48358 :                                                   if (TREE_TYPE (_o1[0]) != st)
    2348              :                                                     {
    2349        48358 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
    2350              :                                                     }
    2351              :                                                   else
    2352              :                                                     _r1 = _o1[0];
    2353        48358 :                                                   res_op0 = _r1;
    2354              :                                                 }
    2355        48358 :                                                 tree res_op1;
    2356        48358 :                                                 res_op1 =  build_zero_cst (st);
    2357        48358 :                                                 tree _r;
    2358        48358 :                                                 _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
    2359        48358 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
    2360            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2361        48358 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 571, __FILE__, __LINE__, true);
    2362        48358 :                                                 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     22929097 :       }
    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       104756 : 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       104756 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2617       104756 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2618        23515 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2619        23515 :  && tree_fits_uhwi_p (captures[4])
    2620        23515 :  && tree_to_uhwi (captures[4]) > 0
    2621       128269 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2622              : )
    2623              :     {
    2624        23513 :       {
    2625        23513 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2626        23513 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2627        23513 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2628        23513 :  tree shift_type = TREE_TYPE (captures[2]);
    2629        23513 :  unsigned int prec;
    2630        23513 :  if (shift == LSHIFT_EXPR)
    2631            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2632        23513 :  else if (shift == RSHIFT_EXPR
    2633        23513 :  && type_has_mode_precision_p (shift_type))
    2634              :  {
    2635        23513 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2636        23513 :  tree arg00 = captures[3];
    2637        23513 :  if (captures[2] != captures[3]
    2638        23513 :  && 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        23513 :  zerobits = HOST_WIDE_INT_M1U;
    2650        23513 :  if (shiftc < prec)
    2651              :  {
    2652        23513 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2653        23513 :  zerobits <<= prec - shiftc;
    2654              :  }
    2655        23513 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2656        23513 :  && 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        23497 :           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        23513 :               {
    2682        23513 :  newmask = mask | zerobits;
    2683        23513 :                   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      2860202 : 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      2860202 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3242      2860202 :   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        92145 :     case PLUS_EXPR:
    3371        92145 :       {
    3372        92145 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3373        92145 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3374        92145 :         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        92129 :           default:;
    3387              :           }
    3388        92129 :         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        77235 :           case INTEGER_CST:
    3401        77235 :             {
    3402        77235 :               {
    3403        77235 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3404        77235 :                 if ((INTEGRAL_TYPE_P (type)
    3405        77235 :  && TYPE_UNSIGNED (type))
    3406        89800 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3407        12557 :  && may_negate_without_overflow_p (captures[2]))
    3408              : )
    3409              :                   {
    3410        77220 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1050;
    3411        77220 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1050;
    3412        77220 :                     {
    3413        77220 :                       tree res_op0;
    3414        77220 :                       {
    3415        77220 :                         tree _o1[1], _r1;
    3416        77220 :                         _o1[0] = captures[1];
    3417        77220 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3418        77220 :                         res_op0 = _r1;
    3419              :                       }
    3420        77220 :                       tree res_op1;
    3421        77220 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3422        77220 :                       tree _r;
    3423        77220 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3424        77220 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 831, __FILE__, __LINE__, true);
    3425        77220 :                       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          366 :     case RSHIFT_EXPR:
    3445          366 :       {
    3446          366 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3447          366 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3448          366 :         {
    3449          366 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3450          366 :           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          345 : next_after_fail1051:;
    3472              :             }
    3473              :           else
    3474              :             {
    3475          150 :               if (INTEGRAL_TYPE_P (type)
    3476          150 :  && !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          345 : next_after_fail1052:;
    3514              :                   }
    3515              :                 }
    3516              :             }
    3517              :         }
    3518          345 :         switch (TREE_CODE (_q20))
    3519              :           {
    3520           12 :           CASE_CONVERT:
    3521           12 :             {
    3522           12 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3523           12 :               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      2860202 :             return _r;
    3566              :           }
    3567            0 : next_after_fail1053:;
    3568              :         }
    3569            0 :         break;
    3570              :       }
    3571       982209 :     CASE_CONVERT:
    3572       982209 :       {
    3573       982209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3574       982209 :         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            0 :     case LE_EXPR:
    4065            0 :       {
    4066            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4067            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4068            0 :         {
    4069            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4070            0 :           tree res = generic_simplify_502 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    4071            0 :           if (res) return res;
    4072              :         }
    4073            0 :         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      2368812 : 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      2368812 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4216      2368812 :   if (integer_onep (_p1))
    4217              :     {
    4218        17720 :       {
    4219        17720 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4220        17720 :         tree res = generic_simplify_180 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4221        17720 :         if (res) return res;
    4222              :       }
    4223              :     }
    4224      2351092 :   switch (TREE_CODE (_p0))
    4225              :     {
    4226       152405 :     CASE_CONVERT:
    4227       152405 :       {
    4228       152405 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4229       152405 :         switch (TREE_CODE (_p1))
    4230              :           {
    4231        35719 :           CASE_CONVERT:
    4232        35719 :             {
    4233        35719 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4234        35719 :               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      2351092 :     default:;
    4273              :     }
    4274      2351092 :   switch (TREE_CODE (_p1))
    4275              :     {
    4276       127275 :     CASE_CONVERT:
    4277       127275 :       {
    4278       127275 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4279       127275 :         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      2351083 :     default:;
    4314              :     }
    4315      2351083 :   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      2349350 :   switch (TREE_CODE (_p1))
    4324              :     {
    4325        13305 :     case SSA_NAME:
    4326        13305 :       {
    4327        13305 :         {
    4328        13305 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4329        13305 :           tree res = generic_simplify_311 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4330        13305 :           if (res) return res;
    4331              :         }
    4332        13305 :         break;
    4333              :       }
    4334      2349350 :     default:;
    4335              :     }
    4336      2349350 : 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      2347728 :   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      2347617 :   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      2347616 :     default:;
    4368              :     }
    4369      2347616 :   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      2347616 :     default:;
    4385              :     }
    4386      2347616 :   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      2347615 :     default:;
    4402              :     }
    4403      2347615 :   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         9111 :     case TRUNC_DIV_EXPR:
    4419         9111 :       {
    4420         9111 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4421         9111 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4422         9111 :         switch (TREE_CODE (_q21))
    4423              :           {
    4424         9022 :           case INTEGER_CST:
    4425         9022 :             {
    4426         9022 :               switch (TREE_CODE (_p1))
    4427              :                 {
    4428         9021 :                 case INTEGER_CST:
    4429         9021 :                   {
    4430         9021 :                     {
    4431         9021 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4432         9021 :                       tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4433         9021 :                       if (res) return res;
    4434              :                     }
    4435         9021 :                     break;
    4436              :                   }
    4437              :                 default:;
    4438              :                 }
    4439              :               break;
    4440              :             }
    4441              :           default:;
    4442              :           }
    4443              :         break;
    4444              :       }
    4445       152364 :     CASE_CONVERT:
    4446       152364 :       {
    4447       152364 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4448       152364 :         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        45214 :     case BIT_AND_EXPR:
    4482        45214 :       {
    4483        45214 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4484        45214 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4485        45214 :         switch (TREE_CODE (_q21))
    4486              :           {
    4487        45188 :           case INTEGER_CST:
    4488        45188 :             {
    4489        45188 :               switch (TREE_CODE (_p1))
    4490              :                 {
    4491        45184 :                 case INTEGER_CST:
    4492        45184 :                   {
    4493        45184 :                     {
    4494        45184 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4495        45184 :                       tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4496        45184 :                       if (res) return res;
    4497              :                     }
    4498        45183 :                     break;
    4499              :                   }
    4500              :                 default:;
    4501              :                 }
    4502              :               break;
    4503              :             }
    4504              :           default:;
    4505              :           }
    4506              :         break;
    4507              :       }
    4508       135229 :     case MULT_EXPR:
    4509       135229 :       {
    4510       135229 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4511       135229 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4512       135229 :         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       129787 :         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       129639 :         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       129630 :         switch (TREE_CODE (_q21))
    4540              :           {
    4541       129316 :           case INTEGER_CST:
    4542       129316 :             {
    4543       129316 :               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      2342012 :     default:;
    4682              :     }
    4683      2342012 : if (integer_onep (_p0))
    4684              :   {
    4685         1219 :     {
    4686         1219 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4687         1219 :       if (INTEGRAL_TYPE_P (type)
    4688         1216 :  && TYPE_PRECISION (type) > 1
    4689         1216 :  && !integer_zerop (captures[1])
    4690         1681 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4691              : )
    4692              :         {
    4693          405 :           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          351 :               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         1165 : next_after_fail1557:;
    4761              :                   }
    4762              :                 }
    4763              :             }
    4764              :         }
    4765              :     }
    4766              :   }
    4767      2341958 :   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      6163186 : 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      6163186 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5227      6163186 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5228              :     {
    5229          763 :       {
    5230          763 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5231            1 :         if (FLOAT_TYPE_P (type)
    5232          763 :  && ! HONOR_NANS (type)
    5233          765 :  && ! 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      6163184 :   switch (TREE_CODE (_p1))
    5250              :     {
    5251        18674 :     case NEGATE_EXPR:
    5252        18674 :       {
    5253        18674 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5254        18674 :         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      6163184 :     default:;
    5265              :     }
    5266      6163184 :   switch (TREE_CODE (_p0))
    5267              :     {
    5268        93438 :     case NEGATE_EXPR:
    5269        93438 :       {
    5270        93438 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5271        93438 :         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       534730 :     CASE_CONVERT:
    5282       534730 :       {
    5283       534730 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5284       534730 :         switch (TREE_CODE (_p1))
    5285              :           {
    5286        23461 :           CASE_CONVERT:
    5287        23461 :             {
    5288        23461 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5289        23461 :               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       534730 :           default:;
    5309              :           }
    5310       534730 :         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      6163184 :     default:;
    5339              :     }
    5340      6163184 :   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      6163184 :     default:;
    5356              :     }
    5357      6163184 :   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      6163184 :     default:;
    5373              :     }
    5374      6163184 :   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      6163098 :   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      6163062 :   switch (TREE_CODE (_p0))
    5417              :     {
    5418        36966 :     case RDIV_EXPR:
    5419        36966 :       {
    5420        36966 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5421        36966 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5422        36966 :         {
    5423        36966 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5424        36966 :           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        36954 :         break;
    5448              :       }
    5449      6163050 :     default:;
    5450              :     }
    5451      6163050 :   switch (TREE_CODE (_p1))
    5452              :     {
    5453       946623 :     case MULT_EXPR:
    5454       946623 :       {
    5455       946623 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5456       946623 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5457       946623 :         switch (TREE_CODE (_q31))
    5458              :           {
    5459       371516 :           case REAL_CST:
    5460       371516 :             {
    5461       371516 :               {
    5462       371516 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5463       371516 :                 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       371292 : next_after_fail1578:;
    5490              :                           }
    5491              :                     }
    5492              :                   }
    5493              :               }
    5494       371292 :               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        18674 :     case NEGATE_EXPR:
    5532        18674 :       {
    5533        18674 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5534        18674 :         {
    5535        18674 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5536        18674 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
    5537        18674 :           {
    5538        18674 :             tree res_op0;
    5539        18674 :             {
    5540        18674 :               tree _o1[1], _r1;
    5541        18674 :               _o1[0] = captures[0];
    5542        18674 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5543        18674 :               res_op0 = _r1;
    5544              :             }
    5545        18674 :             tree res_op1;
    5546        18674 :             res_op1 = captures[1];
    5547        18674 :             tree _r;
    5548        18674 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5549        18674 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 980, __FILE__, __LINE__, true);
    5550        18674 :             return _r;
    5551              :           }
    5552            0 : next_after_fail1580:;
    5553              :         }
    5554            0 :         break;
    5555              :       }
    5556      1049076 :     case REAL_CST:
    5557      1049076 :       {
    5558      1049076 :         {
    5559      1049076 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5560      1049076 :           if (optimize
    5561              : )
    5562              :             {
    5563      1043189 :               if (flag_reciprocal_math
    5564      1043189 :  && !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       732738 : next_after_fail1581:;
    5585              :                         }
    5586              :                   }
    5587              :                 }
    5588              :               else
    5589              :                 {
    5590      1042618 :                   if (REAL_CST != COMPLEX_CST
    5591              : )
    5592              :                     {
    5593      1042618 :                       {
    5594      1042618 :  tree inverse = exact_inverse (type, captures[1]);
    5595      1042618 :                           if (inverse
    5596              : )
    5597              :                             {
    5598       315768 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1582;
    5599       315768 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
    5600       315768 :                               {
    5601       315768 :                                 tree res_op0;
    5602       315768 :                                 res_op0 = captures[0];
    5603       315768 :                                 tree res_op1;
    5604       315768 :                                 res_op1 =  inverse;
    5605       315768 :                                 tree _r;
    5606       315768 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5607       315768 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 982, __FILE__, __LINE__, true);
    5608       315768 :                                 return _r;
    5609              :                               }
    5610       732738 : next_after_fail1582:;
    5611              :                             }
    5612              :                       }
    5613              :                     }
    5614              :                 }
    5615              :             }
    5616              :         }
    5617       732738 :         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      5827776 :     default:;
    5746              :     }
    5747      5827776 :   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      5827776 :     default:;
    5856              :     }
    5857      5827776 :   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       781950 :     case CALL_EXPR:
    5910       781950 :       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      5827551 :     default:;
    6839              :     }
    6840      5827551 :   switch (TREE_CODE (_p0))
    6841              :     {
    6842       187915 :     case CALL_EXPR:
    6843       187915 :       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      5827517 :     default:;
    7597              :     }
    7598      5827517 :   switch (TREE_CODE (_p1))
    7599              :     {
    7600       781695 :     case CALL_EXPR:
    7601       781695 :       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      7249348 : 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      7249348 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7663      7249348 :   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         1209 :     case TRUNC_MOD_EXPR:
    7688         1209 :       {
    7689         1209 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7690         1209 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7691         1209 :         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        31484 :     case MULT_EXPR:
    7702        31484 :       {
    7703        31484 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7704        31484 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7705        31484 :         switch (TREE_CODE (_p1))
    7706              :           {
    7707         6923 :           case MULT_EXPR:
    7708         6923 :             {
    7709         6923 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7710         6923 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7711         6923 :               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         2744 :               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         2744 :               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         2744 :               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      1250913 :     CASE_CONVERT:
    7750      1250913 :       {
    7751      1250913 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7752      1250913 :         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         7972 :     case EXACT_DIV_EXPR:
    7800         7972 :       {
    7801         7972 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7802         7972 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7803         7972 :         switch (TREE_CODE (_q21))
    7804              :           {
    7805         7972 :           case INTEGER_CST:
    7806         7972 :             {
    7807         7972 :               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        41817 :     case TRUNC_DIV_EXPR:
    7832        41817 :       {
    7833        41817 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7834        41817 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7835        41817 :         switch (TREE_CODE (_q21))
    7836              :           {
    7837        41311 :           case INTEGER_CST:
    7838        41311 :             {
    7839        41311 :               switch (TREE_CODE (_p1))
    7840              :                 {
    7841        40412 :                 case INTEGER_CST:
    7842        40412 :                   {
    7843        40412 :                     {
    7844        40412 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7845        40412 :                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR);
    7846        40412 :                       if (res) return res;
    7847              :                     }
    7848            0 :                     break;
    7849              :                   }
    7850              :                 default:;
    7851              :                 }
    7852              :               break;
    7853              :             }
    7854              :           default:;
    7855              :           }
    7856              :         break;
    7857              :       }
    7858       801247 :     case PLUS_EXPR:
    7859       801247 :       {
    7860       801247 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7861       801247 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7862       801247 :         switch (TREE_CODE (_p1))
    7863              :           {
    7864        52275 :           case PLUS_EXPR:
    7865        52275 :             {
    7866        52275 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7867        52275 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7868        52275 :               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        52275 :               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        52275 :               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        52275 :               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       801199 :           default:;
    7903              :           }
    7904       801199 :         switch (TREE_CODE (_q21))
    7905              :           {
    7906       690655 :           case INTEGER_CST:
    7907       690655 :             {
    7908       690655 :               switch (TREE_CODE (_p1))
    7909              :                 {
    7910        15161 :                 case PLUS_EXPR:
    7911        15161 :                   {
    7912        15161 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7913        15161 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7914        15161 :                     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       801199 :           default:;
    7929              :           }
    7930       801199 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7931              :           {
    7932        53968 :             {
    7933        53968 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7934        53968 :               tree res = generic_simplify_375 (loc, type, _p0, _p1, captures, GE_EXPR);
    7935        53968 :               if (res) return res;
    7936              :             }
    7937              :           }
    7938       768177 :         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       122915 :     case MINUS_EXPR:
    7949       122915 :       {
    7950       122915 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7951       122915 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7952       122915 :         switch (TREE_CODE (_p1))
    7953              :           {
    7954         3752 :           case MINUS_EXPR:
    7955         3752 :             {
    7956         3752 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7957         3752 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7958         3752 :               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         3752 :               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         2403 :     case POINTER_DIFF_EXPR:
    7981         2403 :       {
    7982         2403 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7983         2403 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7984         2403 :         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      7168103 :     default:;
    8013              :     }
    8014      7168103 :   switch (TREE_CODE (_p1))
    8015              :     {
    8016        59038 :     case PLUS_EXPR:
    8017        59038 :       {
    8018        59038 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8019        59038 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8020        59038 :         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        59038 :         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         4868 :     case MINUS_EXPR:
    8039         4868 :       {
    8040         4868 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8041         4868 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8042         4868 :         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      7168103 :     default:;
    8053              :     }
    8054      7168103 :   switch (TREE_CODE (_p0))
    8055              :     {
    8056       122915 :     case MINUS_EXPR:
    8057       122915 :       {
    8058       122915 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8059       122915 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8060       122915 :         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      7168102 :     default:;
    8099              :     }
    8100      7168102 :   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      7168102 :     default:;
    8131              :     }
    8132      7168102 :   switch (TREE_CODE (_p0))
    8133              :     {
    8134         2985 :     case MIN_EXPR:
    8135         2985 :       {
    8136         2985 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8137         2985 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8138         2985 :         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         2985 :         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         2984 :         switch (TREE_CODE (_q21))
    8155              :           {
    8156         1016 :           case INTEGER_CST:
    8157         1016 :             {
    8158         1016 :               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      7168101 :     default:;
    8178              :     }
    8179      7168101 :   switch (TREE_CODE (_p1))
    8180              :     {
    8181          202 :     case MAX_EXPR:
    8182          202 :       {
    8183          202 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8184          202 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8185          202 :         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          202 :         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         1490 :     case MIN_EXPR:
    8204         1490 :       {
    8205         1490 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8206         1490 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8207         1490 :         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         1490 :         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      7168101 :     default:;
    8226              :     }
    8227      7168101 :   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      7168095 :     default:;
    8379              :     }
    8380      7168095 :   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      7168095 :     default:;
    8433              :     }
    8434      7168095 : if (uniform_integer_cst_p (_p1))
    8435              :   {
    8436      3591047 :     {
    8437      3591047 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8438      3591047 :       tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8439      3591047 :       if (res) return res;
    8440              :     }
    8441              :   }
    8442      5687360 :   switch (TREE_CODE (_p0))
    8443              :     {
    8444        23733 :     case MULT_EXPR:
    8445        23733 :       {
    8446        23733 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8447        23733 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8448        23733 :         switch (TREE_CODE (_q21))
    8449              :           {
    8450        19806 :           case INTEGER_CST:
    8451        19806 :             {
    8452        19806 :               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      5687072 :     default:;
    8467              :     }
    8468      5687072 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8469              :     {
    8470        37984 :       {
    8471        37984 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8472        37984 :         tree res = generic_simplify_249 (loc, type, _p0, _p1, captures, GE_EXPR);
    8473        37984 :         if (res) return res;
    8474              :       }
    8475              :     }
    8476      5649125 :   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      5649030 :     default:;
    8527              :     }
    8528      5649030 : {
    8529      5649030 :   tree _p0_pops[1];
    8530      5649030 :   if (tree_nop_convert (_p0, _p0_pops))
    8531              :     {
    8532       441710 :       tree _q20 = _p0_pops[0];
    8533       441710 :       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      5649030 :   switch (TREE_CODE (_p1))
    8588              :     {
    8589       620433 :     case REAL_CST:
    8590       620433 :       {
    8591       620433 :         {
    8592       620433 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8593       620433 :           tree res = generic_simplify_254 (loc, type, _p0, _p1, captures, GE_EXPR);
    8594       620433 :           if (res) return res;
    8595              :         }
    8596       620351 :         break;
    8597              :       }
    8598      5648948 :     default:;
    8599              :     }
    8600      5648948 :   switch (TREE_CODE (_p0))
    8601              :     {
    8602       684619 :     case PLUS_EXPR:
    8603       684619 :       {
    8604       684619 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8605       684619 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8606       684619 :         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       574180 :           case INTEGER_CST:
    8626       574180 :             {
    8627       574180 :               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        63281 :     case MINUS_EXPR:
    8642        63281 :       {
    8643        63281 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8644        63281 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8645        63281 :         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        63281 :           default:;
    8665              :           }
    8666        63281 :         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        38978 :     case FLOAT_EXPR:
    8690        38978 :       {
    8691        38978 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8692        38978 :         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        37499 :           case REAL_CST:
    8705        37499 :             {
    8706        37499 :               {
    8707        37499 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    8708        37499 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8709        37499 :                 if (res) return res;
    8710              :               }
    8711        18786 :               break;
    8712              :             }
    8713              :           default:;
    8714              :           }
    8715              :         break;
    8716              :       }
    8717         7933 :     case EXACT_DIV_EXPR:
    8718         7933 :       {
    8719         7933 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8720         7933 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8721         7933 :         switch (TREE_CODE (_q21))
    8722              :           {
    8723         7933 :           case INTEGER_CST:
    8724         7933 :             {
    8725         7933 :               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       831153 :     CASE_CONVERT:
    8745       831153 :       {
    8746       831153 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8747       831153 :         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       831153 :           default:;
    8777              :           }
    8778       831153 :         switch (TREE_CODE (_p1))
    8779              :           {
    8780       127591 :           CASE_CONVERT:
    8781       127591 :             {
    8782       127591 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8783       127591 :               {
    8784       127591 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8785       127591 :                 tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR);
    8786       127591 :                 if (res) return res;
    8787              :               }
    8788        58320 :               break;
    8789              :             }
    8790       761882 :           default:;
    8791              :           }
    8792       761882 :         {
    8793       761882 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8794       761882 :           tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, GE_EXPR);
    8795       761882 :           if (res) return res;
    8796              :         }
    8797       466600 :         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       465400 :           default:;
    8835              :           }
    8836       465400 :         if (uniform_integer_cst_p (_p1))
    8837              :           {
    8838       187634 :             {
    8839       187634 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8840       187634 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR);
    8841       187634 :               if (res) return res;
    8842              :             }
    8843              :           }
    8844              :         break;
    8845              :       }
    8846          773 :     case NEGATE_EXPR:
    8847          773 :       {
    8848          773 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8849          773 :         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          773 :           default:;
    8862              :           }
    8863          773 :       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       333055 :     case CALL_EXPR:
    8909       333055 :       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      5230741 :     default:;
    9059              :     }
    9060      5230741 :   if (uniform_integer_cst_p (_p1))
    9061              :     {
    9062      1804270 :       {
    9063      1804270 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9064      1804270 :         tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GE_EXPR);
    9065      1804270 :         if (res) return res;
    9066              :       }
    9067              :     }
    9068      4901738 :   switch (TREE_CODE (_p0))
    9069              :     {
    9070       454253 :     CASE_CONVERT:
    9071       454253 :       {
    9072       454253 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9073       454253 :         switch (TREE_CODE (_q20))
    9074              :           {
    9075        31985 :           case PLUS_EXPR:
    9076        31985 :             {
    9077        31985 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9078        31985 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9079        31985 :               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      4901681 :     default:;
    9111              :     }
    9112      4901681 :   switch (TREE_CODE (_p1))
    9113              :     {
    9114       227750 :     CASE_CONVERT:
    9115       227750 :       {
    9116       227750 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9117       227750 :         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        59038 :     case PLUS_EXPR:
    9155        59038 :       {
    9156        59038 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9157        59038 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9158        59038 :         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         4868 :     case MINUS_EXPR:
    9177         4868 :       {
    9178         4868 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9179         4868 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9180         4868 :         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      4901681 :     default:;
    9191              :     }
    9192      4901681 :   switch (TREE_CODE (_p0))
    9193              :     {
    9194       588067 :     case PLUS_EXPR:
    9195       588067 :       {
    9196       588067 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9197       588067 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9198       588067 :         switch (TREE_CODE (_q20))
    9199              :           {
    9200          133 :           case MINUS_EXPR:
    9201          133 :             {
    9202          133 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9203          133 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9204          133 :               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      4901680 :     default:;
    9222              :     }
    9223      4901680 :   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      4901680 :     default:;
    9256              :     }
    9257      4901680 :   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         1398 :     case TRUNC_DIV_EXPR:
    9298         1398 :       {
    9299         1398 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9300         1398 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9301         1398 :         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        21983 :     case MULT_EXPR:
    9312        21983 :       {
    9313        21983 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9314        21983 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9315        21983 :         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       588066 :     case PLUS_EXPR:
    9617       588066 :       {
    9618       588066 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9619       588066 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9620       588066 :         switch (TREE_CODE (_q21))
    9621              :           {
    9622       477627 :           case INTEGER_CST:
    9623       477627 :             {
    9624       477627 :               switch (TREE_CODE (_p1))
    9625              :                 {
    9626       117029 :                 case INTEGER_CST:
    9627       117029 :                   {
    9628       117029 :                     {
    9629       117029 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9630       117029 :                       tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
    9631       117029 :                       if (res) return res;
    9632              :                     }
    9633        56859 :                     break;
    9634              :                   }
    9635              :                 default:;
    9636              :                 }
    9637              :               break;
    9638              :             }
    9639              :           default:;
    9640              :           }
    9641              :         break;
    9642              :       }
    9643        62821 :     case MINUS_EXPR:
    9644        62821 :       {
    9645        62821 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9646        62821 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9647        62821 :         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        62814 :           default:;
    9667              :           }
    9668        62814 :         switch (TREE_CODE (_q20))
    9669              :           {
    9670         1703 :           case INTEGER_CST:
    9671         1703 :             {
    9672         1703 :               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       333045 :     case CALL_EXPR:
    9692       333045 :       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       730895 : 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       730895 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10503       730895 :   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       730895 :     default:;
   10612              :     }
   10613       730895 :   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       730895 :     default:;
   10666              :     }
   10667       730895 :   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       730877 :     default:;
   10716              :     }
   10717       730877 :   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       730877 :     default:;
   10729              :     }
   10730       730877 :   {
   10731       730877 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10732       730877 :     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       730877 :         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       730842 :   return NULL_TREE;
   10769              : }
   10770              : 
   10771              : tree
   10772       695569 : 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       695569 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10775       695569 :   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       695569 :     default:;
   10884              :     }
   10885       695569 :   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       695569 :     default:;
   10938              :     }
   10939       695569 :   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       695569 :   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       695569 :     default:;
   10996              :     }
   10997       695569 :   switch (TREE_CODE (_p1))
   10998              :     {
   10999       349179 :     case REAL_CST:
   11000       349179 :       {
   11001       349179 :         {
   11002       349179 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11003       349179 :           tree res = generic_simplify_549 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11004       349179 :           if (res) return res;
   11005              :         }
   11006       349177 :         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       335226 : 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       335226 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11271       335226 :   switch (TREE_CODE (_p0))
   11272              :     {
   11273        12157 :     case VECTOR_CST:
   11274        12157 :       {
   11275        12157 :         {
   11276        12157 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11277        12157 :           if (integer_all_onesp (captures[0])
   11278              : )
   11279              :             {
   11280          566 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
   11281          566 :               {
   11282          566 :                 tree _r;
   11283          566 :                 _r = captures[1];
   11284          566 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   11285            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11286          566 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   11287            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   11288          566 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
   11289          566 :                 return _r;
   11290              :               }
   11291            0 : next_after_fail1868:;
   11292              :             }
   11293              :           else
   11294              :             {
   11295        11591 :               if (integer_zerop (captures[0])
   11296              : )
   11297              :                 {
   11298         1684 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
   11299         1684 :                   {
   11300         1684 :                     tree _r;
   11301         1684 :                     _r = captures[2];
   11302         1684 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   11303            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   11304         1684 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   11305            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11306         1684 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1057, __FILE__, __LINE__, true);
   11307         1684 :                     return _r;
   11308              :                   }
   11309            0 : next_after_fail1869:;
   11310              :                 }
   11311              :             }
   11312              :         }
   11313         9907 :         break;
   11314              :       }
   11315       332976 :     default:;
   11316              :     }
   11317       332976 :   switch (TREE_CODE (_p1))
   11318              :     {
   11319       279496 :     case VECTOR_CST:
   11320       279496 :       {
   11321       279496 :         switch (TREE_CODE (_p2))
   11322              :           {
   11323       272916 :           case VECTOR_CST:
   11324       272916 :             {
   11325       272916 :               {
   11326       272916 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11327       272916 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   11328       273054 :  && 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       272815 :               break;
   11371              :             }
   11372              :           default:;
   11373              :           }
   11374              :         break;
   11375              :       }
   11376       332875 :     default:;
   11377              :     }
   11378       332875 :   switch (TREE_CODE (_p0))
   11379              :     {
   11380         1255 :     case NE_EXPR:
   11381         1255 :       {
   11382         1255 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11383         1255 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11384         1255 :         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       332833 :     default:;
   11935              :     }
   11936       332833 :   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       332833 :     default:;
   11968              :     }
   11969       332833 :   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       332833 :     default:;
   12026              :     }
   12027       332833 :   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       332833 :     default:;
   12062              :     }
   12063       332833 :   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       332800 :   switch (TREE_CODE (_p0))
   12080              :     {
   12081        66362 :     case EQ_EXPR:
   12082        66362 :       {
   12083        66362 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12084        66362 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12085        66362 :         if (zerop (_q21))
   12086              :           {
   12087          591 :             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          591 :               default:;
   12117              :               }
   12118          591 :             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        66362 :         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         1213 :     case NE_EXPR:
   12380         1213 :       {
   12381         1213 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12382         1213 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12383         1213 :         if (zerop (_q21))
   12384              :           {
   12385          290 :             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          290 :               default:;
   12414              :               }
   12415          290 :           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         1213 :         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              : )
   12656              :                                 {
   12657            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12658              : )
   12659              :                                     {
   12660            0 :                                       {
   12661            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12662            0 :                                           if (types_match (captures[0], stype)
   12663              : )
   12664              :                                             {
   12665            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1897;
   12666            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
   12667            0 :                                               {
   12668            0 :                                                 tree res_op0;
   12669            0 :                                                 res_op0 = captures[0];
   12670            0 :                                                 tree _r;
   12671            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12672            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12673            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12674            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12675            0 :                                                 return _r;
   12676              :                                               }
   12677            0 : next_after_fail1897:;
   12678              :                                             }
   12679              :                                           else
   12680              :                                             {
   12681            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1898;
   12682            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
   12683            0 :                                               {
   12684            0 :                                                 tree res_op0;
   12685            0 :                                                 {
   12686            0 :                                                   tree _o1[1], _r1;
   12687            0 :                                                   _o1[0] = captures[2];
   12688            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12689              :                                                     {
   12690            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12691              :                                                     }
   12692              :                                                   else
   12693              :                                                     _r1 = _o1[0];
   12694            0 :                                                   res_op0 = _r1;
   12695              :                                                 }
   12696            0 :                                                 tree _r;
   12697            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12698            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12699            0 :                                                 return _r;
   12700              :                                               }
   12701            0 : next_after_fail1898:;
   12702              :                                             }
   12703              :                                       }
   12704              :                                     }
   12705              :                                   else
   12706              :                                     {
   12707            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1899;
   12708            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
   12709            0 :                                       {
   12710            0 :                                         tree res_op0;
   12711            0 :                                         res_op0 = captures[2];
   12712            0 :                                         tree _r;
   12713            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12714            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12715            0 :                                         return _r;
   12716              :                                       }
   12717            0 : next_after_fail1899:;
   12718              :                                     }
   12719              :                                 }
   12720              :                             }
   12721              :                           }
   12722              :                         break;
   12723              :                       }
   12724              :                     default:;
   12725              :                     }
   12726              :                 }
   12727              :               break;
   12728              :             }
   12729         1179 :           default:;
   12730              :           }
   12731         1179 :         if (zerop (_q21))
   12732              :           {
   12733          334 :             switch (TREE_CODE (_p2))
   12734              :               {
   12735            3 :               case NEGATE_EXPR:
   12736            3 :                 {
   12737            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12738            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12739              :                     {
   12740            3 :                       {
   12741            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12742            3 :                         const enum tree_code cmp = GE_EXPR;
   12743            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12744            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12745            6 :  && element_precision (captures[1])
   12746            3 :  <= element_precision (captures[0])
   12747            6 :  && bitwise_equal_p (captures[1], captures[2])
   12748              : )
   12749              :                           {
   12750            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12751              : )
   12752              :                               {
   12753            0 :                                 {
   12754            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12755            0 :                                     if (types_match (captures[0], stype)
   12756              : )
   12757              :                                       {
   12758            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1900;
   12759            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
   12760            0 :                                         {
   12761            0 :                                           tree res_op0;
   12762            0 :                                           res_op0 = captures[0];
   12763            0 :                                           tree _r;
   12764            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12765            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   12766            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12767            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12768            0 :                                           return _r;
   12769              :                                         }
   12770            0 : next_after_fail1900:;
   12771              :                                       }
   12772              :                                     else
   12773              :                                       {
   12774            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1901;
   12775            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
   12776            0 :                                         {
   12777            0 :                                           tree res_op0;
   12778            0 :                                           {
   12779            0 :                                             tree _o1[1], _r1;
   12780            0 :                                             _o1[0] = captures[2];
   12781            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   12782              :                                               {
   12783            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12784              :                                               }
   12785              :                                             else
   12786              :                                               _r1 = _o1[0];
   12787            0 :                                             res_op0 = _r1;
   12788              :                                           }
   12789            0 :                                           tree _r;
   12790            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12791            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12792            0 :                                           return _r;
   12793              :                                         }
   12794            0 : next_after_fail1901:;
   12795              :                                       }
   12796              :                                 }
   12797              :                               }
   12798              :                             else
   12799              :                               {
   12800            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1902;
   12801            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
   12802            3 :                                 {
   12803            3 :                                   tree res_op0;
   12804            3 :                                   res_op0 = captures[2];
   12805            3 :                                   tree _r;
   12806            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12807            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12808            3 :                                   return _r;
   12809              :                                 }
   12810            0 : next_after_fail1902:;
   12811              :                               }
   12812              :                           }
   12813              :                       }
   12814              :                     }
   12815              :                   break;
   12816              :                 }
   12817              :               default:;
   12818              :               }
   12819              :           }
   12820         1176 :         switch (TREE_CODE (_q20))
   12821              :           {
   12822            0 :           case MINUS_EXPR:
   12823            0 :             {
   12824            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12825            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12826            0 :               if (zerop (_q21))
   12827              :                 {
   12828            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12829              :                     {
   12830            0 :                       switch (TREE_CODE (_p2))
   12831              :                         {
   12832            0 :                         case MINUS_EXPR:
   12833            0 :                           {
   12834            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12835            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12836            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12837              :                               {
   12838            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12839              :                                   {
   12840            0 :                                     {
   12841            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   12842            0 :                                       const enum tree_code cmp = GE_EXPR;
   12843            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12844            0 :  && !TYPE_UNSIGNED (type)
   12845              : )
   12846              :                                         {
   12847            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1903;
   12848            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1903;
   12849            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
   12850            0 :                                           {
   12851            0 :                                             tree res_op0;
   12852            0 :                                             res_op0 = captures[0];
   12853            0 :                                             tree _r;
   12854            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12855            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   12856            0 :                                             return _r;
   12857              :                                           }
   12858            0 : next_after_fail1903:;
   12859              :                                         }
   12860              :                                     }
   12861              :                                   }
   12862              :                               }
   12863              :                             break;
   12864              :                           }
   12865              :                         default:;
   12866              :                         }
   12867              :                     }
   12868              :                 }
   12869              :               break;
   12870              :             }
   12871              :           default:;
   12872              :           }
   12873              :         break;
   12874              :       }
   12875        66280 :     case GT_EXPR:
   12876        66280 :       {
   12877        66280 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12878        66280 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12879        66280 :         switch (TREE_CODE (_q20))
   12880              :           {
   12881           13 :           CASE_CONVERT:
   12882           13 :             {
   12883           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12884           13 :               if (zerop (_q21))
   12885              :                 {
   12886            1 :                   switch (TREE_CODE (_p2))
   12887              :                     {
   12888            0 :                     case NEGATE_EXPR:
   12889            0 :                       {
   12890            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   12891            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   12892              :                           {
   12893            0 :                             {
   12894            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   12895            0 :                               const enum tree_code cmp = GT_EXPR;
   12896            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12897            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12898            0 :  && element_precision (captures[1])
   12899            0 :  <= element_precision (captures[0])
   12900            0 :  && bitwise_equal_p (captures[1], captures[2])
   12901              : )
   12902              :                                 {
   12903            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12904              : )
   12905              :                                     {
   12906            0 :                                       {
   12907            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   12908            0 :                                           if (types_match (captures[0], stype)
   12909              : )
   12910              :                                             {
   12911            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1904;
   12912            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
   12913            0 :                                               {
   12914            0 :                                                 tree res_op0;
   12915            0 :                                                 res_op0 = captures[0];
   12916            0 :                                                 tree _r;
   12917            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12918            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   12919            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12920            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   12921            0 :                                                 return _r;
   12922              :                                               }
   12923            0 : next_after_fail1904:;
   12924              :                                             }
   12925              :                                           else
   12926              :                                             {
   12927            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1905;
   12928            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
   12929            0 :                                               {
   12930            0 :                                                 tree res_op0;
   12931            0 :                                                 {
   12932            0 :                                                   tree _o1[1], _r1;
   12933            0 :                                                   _o1[0] = captures[2];
   12934            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   12935              :                                                     {
   12936            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   12937              :                                                     }
   12938              :                                                   else
   12939              :                                                     _r1 = _o1[0];
   12940            0 :                                                   res_op0 = _r1;
   12941              :                                                 }
   12942            0 :                                                 tree _r;
   12943            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   12944            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   12945            0 :                                                 return _r;
   12946              :                                               }
   12947            0 : next_after_fail1905:;
   12948              :                                             }
   12949              :                                       }
   12950              :                                     }
   12951              :                                   else
   12952              :                                     {
   12953            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1906;
   12954            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
   12955            0 :                                       {
   12956            0 :                                         tree res_op0;
   12957            0 :                                         res_op0 = captures[2];
   12958            0 :                                         tree _r;
   12959            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   12960            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   12961            0 :                                         return _r;
   12962              :                                       }
   12963            0 : next_after_fail1906:;
   12964              :                                     }
   12965              :                                 }
   12966              :                             }
   12967              :                           }
   12968              :                         break;
   12969              :                       }
   12970              :                     default:;
   12971              :                     }
   12972              :                 }
   12973              :               break;
   12974              :             }
   12975        66280 :           default:;
   12976              :           }
   12977        66280 :         if (zerop (_q21))
   12978              :           {
   12979           84 :             switch (TREE_CODE (_p2))
   12980              :               {
   12981            6 :               case NEGATE_EXPR:
   12982            6 :                 {
   12983            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12984            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12985              :                     {
   12986            6 :                       {
   12987            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   12988            6 :                         const enum tree_code cmp = GT_EXPR;
   12989            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   12990            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   12991           12 :  && element_precision (captures[1])
   12992            6 :  <= element_precision (captures[0])
   12993           12 :  && bitwise_equal_p (captures[1], captures[2])
   12994              : )
   12995              :                           {
   12996            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   12997              : )
   12998              :                               {
   12999            0 :                                 {
   13000            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13001            0 :                                     if (types_match (captures[0], stype)
   13002              : )
   13003              :                                       {
   13004            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1907;
   13005            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
   13006            0 :                                         {
   13007            0 :                                           tree res_op0;
   13008            0 :                                           res_op0 = captures[0];
   13009            0 :                                           tree _r;
   13010            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13011            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13012            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13013            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1044, __FILE__, __LINE__, true);
   13014            0 :                                           return _r;
   13015              :                                         }
   13016            0 : next_after_fail1907:;
   13017              :                                       }
   13018              :                                     else
   13019              :                                       {
   13020            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1908;
   13021            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
   13022            0 :                                         {
   13023            0 :                                           tree res_op0;
   13024            0 :                                           {
   13025            0 :                                             tree _o1[1], _r1;
   13026            0 :                                             _o1[0] = captures[2];
   13027            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13028              :                                               {
   13029            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13030              :                                               }
   13031              :                                             else
   13032              :                                               _r1 = _o1[0];
   13033            0 :                                             res_op0 = _r1;
   13034              :                                           }
   13035            0 :                                           tree _r;
   13036            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13037            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1045, __FILE__, __LINE__, true);
   13038            0 :                                           return _r;
   13039              :                                         }
   13040            0 : next_after_fail1908:;
   13041              :                                       }
   13042              :                                 }
   13043              :                               }
   13044              :                             else
   13045              :                               {
   13046            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1909;
   13047            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
   13048            6 :                                 {
   13049            6 :                                   tree res_op0;
   13050            6 :                                   res_op0 = captures[2];
   13051            6 :                                   tree _r;
   13052            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13053            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1046, __FILE__, __LINE__, true);
   13054            6 :                                   return _r;
   13055              :                                 }
   13056            0 : next_after_fail1909:;
   13057              :                               }
   13058              :                           }
   13059              :                       }
   13060              :                     }
   13061              :                   break;
   13062              :                 }
   13063              :               default:;
   13064              :               }
   13065              :           }
   13066        66274 :         switch (TREE_CODE (_q20))
   13067              :           {
   13068            0 :           case MINUS_EXPR:
   13069            0 :             {
   13070            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13071            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13072            0 :               if (zerop (_q21))
   13073              :                 {
   13074            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13075              :                     {
   13076            0 :                       switch (TREE_CODE (_p2))
   13077              :                         {
   13078            0 :                         case MINUS_EXPR:
   13079            0 :                           {
   13080            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13081            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13082            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13083              :                               {
   13084            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13085              :                                   {
   13086            0 :                                     {
   13087            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13088            0 :                                       const enum tree_code cmp = GT_EXPR;
   13089            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13090            0 :  && !TYPE_UNSIGNED (type)
   13091              : )
   13092              :                                         {
   13093            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1910;
   13094            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1910;
   13095            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
   13096            0 :                                           {
   13097            0 :                                             tree res_op0;
   13098            0 :                                             res_op0 = captures[0];
   13099            0 :                                             tree _r;
   13100            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13101            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1047, __FILE__, __LINE__, true);
   13102            0 :                                             return _r;
   13103              :                                           }
   13104            0 : next_after_fail1910:;
   13105              :                                         }
   13106              :                                     }
   13107              :                                   }
   13108              :                               }
   13109              :                             break;
   13110              :                           }
   13111              :                         default:;
   13112              :                         }
   13113              :                     }
   13114              :                 }
   13115              :               break;
   13116              :             }
   13117              :           default:;
   13118              :           }
   13119              :         break;
   13120              :       }
   13121          897 :     case LE_EXPR:
   13122          897 :       {
   13123          897 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13124          897 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13125          897 :         switch (TREE_CODE (_q20))
   13126              :           {
   13127            0 :           CASE_CONVERT:
   13128            0 :             {
   13129            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13130            0 :               if (zerop (_q21))
   13131              :                 {
   13132            0 :                   switch (TREE_CODE (_p2))
   13133              :                     {
   13134            0 :                     case NEGATE_EXPR:
   13135            0 :                       {
   13136            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13137            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13138              :                           {
   13139            0 :                             {
   13140            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13141            0 :                               const enum tree_code cmp = LE_EXPR;
   13142            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13143            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13144            0 :  && element_precision (captures[1])
   13145            0 :  <= element_precision (captures[0])
   13146            0 :  && bitwise_equal_p (captures[1], captures[2])
   13147              : )
   13148              :                                 {
   13149            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13150            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13151            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13152              : )
   13153              :                                     {
   13154            0 :                                       {
   13155            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13156            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13157            0 :                                           if (types_match (captures[0], stype)
   13158              : )
   13159              :                                             {
   13160            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1911;
   13161            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
   13162            0 :                                               {
   13163            0 :                                                 tree res_op0;
   13164            0 :                                                 {
   13165            0 :                                                   tree _o1[1], _r1;
   13166            0 :                                                   {
   13167            0 :                                                     tree _o2[1], _r2;
   13168            0 :                                                     _o2[0] = captures[0];
   13169            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13170            0 :                                                     _o1[0] = _r2;
   13171              :                                                   }
   13172            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13173            0 :                                                   res_op0 = _r1;
   13174              :                                                 }
   13175            0 :                                                 tree _r;
   13176            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13177            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13178            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13179            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13180            0 :                                                 return _r;
   13181              :                                               }
   13182            0 : next_after_fail1911:;
   13183              :                                             }
   13184              :                                           else
   13185              :                                             {
   13186            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1912;
   13187            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
   13188            0 :                                               {
   13189            0 :                                                 tree res_op0;
   13190            0 :                                                 {
   13191            0 :                                                   tree _o1[1], _r1;
   13192            0 :                                                   {
   13193            0 :                                                     tree _o2[1], _r2;
   13194            0 :                                                     {
   13195            0 :                                                       tree _o3[1], _r3;
   13196            0 :                                                       _o3[0] = captures[2];
   13197            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13198              :                                                         {
   13199            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13200              :                                                         }
   13201              :                                                       else
   13202              :                                                         _r3 = _o3[0];
   13203            0 :                                                       _o2[0] = _r3;
   13204              :                                                     }
   13205            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13206            0 :                                                     _o1[0] = _r2;
   13207              :                                                   }
   13208            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13209            0 :                                                   res_op0 = _r1;
   13210              :                                                 }
   13211            0 :                                                 tree _r;
   13212            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13213            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13214            0 :                                                 return _r;
   13215              :                                               }
   13216            0 : next_after_fail1912:;
   13217              :                                             }
   13218              :                                       }
   13219              :                                     }
   13220              :                                   else
   13221              :                                     {
   13222            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1913;
   13223            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
   13224            0 :                                       {
   13225            0 :                                         tree res_op0;
   13226            0 :                                         {
   13227            0 :                                           tree _o1[1], _r1;
   13228            0 :                                           {
   13229            0 :                                             tree _o2[1], _r2;
   13230            0 :                                             _o2[0] = captures[2];
   13231            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13232            0 :                                             _o1[0] = _r2;
   13233              :                                           }
   13234            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13235            0 :                                           res_op0 = _r1;
   13236              :                                         }
   13237            0 :                                         tree _r;
   13238            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13239            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13240            0 :                                         return _r;
   13241              :                                       }
   13242            0 : next_after_fail1913:;
   13243              :                                     }
   13244              :                                 }
   13245              :                             }
   13246              :                           }
   13247              :                         break;
   13248              :                       }
   13249              :                     default:;
   13250              :                     }
   13251              :                 }
   13252              :               break;
   13253              :             }
   13254          897 :           default:;
   13255              :           }
   13256          897 :         if (zerop (_q21))
   13257              :           {
   13258           18 :             switch (TREE_CODE (_p2))
   13259              :               {
   13260            0 :               case NEGATE_EXPR:
   13261            0 :                 {
   13262            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13263            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13264              :                     {
   13265            0 :                       {
   13266            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13267            0 :                         const enum tree_code cmp = LE_EXPR;
   13268            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13269            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13270            0 :  && element_precision (captures[1])
   13271            0 :  <= element_precision (captures[0])
   13272            0 :  && bitwise_equal_p (captures[1], captures[2])
   13273              : )
   13274              :                           {
   13275            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13276            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13277            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13278              : )
   13279              :                               {
   13280            0 :                                 {
   13281            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13282            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13283            0 :                                     if (types_match (captures[0], stype)
   13284              : )
   13285              :                                       {
   13286            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1914;
   13287            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
   13288            0 :                                         {
   13289            0 :                                           tree res_op0;
   13290            0 :                                           {
   13291            0 :                                             tree _o1[1], _r1;
   13292            0 :                                             {
   13293            0 :                                               tree _o2[1], _r2;
   13294            0 :                                               _o2[0] = captures[0];
   13295            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13296            0 :                                               _o1[0] = _r2;
   13297              :                                             }
   13298            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13299            0 :                                             res_op0 = _r1;
   13300              :                                           }
   13301            0 :                                           tree _r;
   13302            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13303            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13304            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13305            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13306            0 :                                           return _r;
   13307              :                                         }
   13308            0 : next_after_fail1914:;
   13309              :                                       }
   13310              :                                     else
   13311              :                                       {
   13312            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1915;
   13313            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
   13314            0 :                                         {
   13315            0 :                                           tree res_op0;
   13316            0 :                                           {
   13317            0 :                                             tree _o1[1], _r1;
   13318            0 :                                             {
   13319            0 :                                               tree _o2[1], _r2;
   13320            0 :                                               {
   13321            0 :                                                 tree _o3[1], _r3;
   13322            0 :                                                 _o3[0] = captures[2];
   13323            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13324              :                                                   {
   13325            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13326              :                                                   }
   13327              :                                                 else
   13328              :                                                   _r3 = _o3[0];
   13329            0 :                                                 _o2[0] = _r3;
   13330              :                                               }
   13331            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13332            0 :                                               _o1[0] = _r2;
   13333              :                                             }
   13334            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13335            0 :                                             res_op0 = _r1;
   13336              :                                           }
   13337            0 :                                           tree _r;
   13338            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13339            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13340            0 :                                           return _r;
   13341              :                                         }
   13342            0 : next_after_fail1915:;
   13343              :                                       }
   13344              :                                 }
   13345              :                               }
   13346              :                             else
   13347              :                               {
   13348            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1916;
   13349            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
   13350            0 :                                 {
   13351            0 :                                   tree res_op0;
   13352            0 :                                   {
   13353            0 :                                     tree _o1[1], _r1;
   13354            0 :                                     {
   13355            0 :                                       tree _o2[1], _r2;
   13356            0 :                                       _o2[0] = captures[2];
   13357            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13358            0 :                                       _o1[0] = _r2;
   13359              :                                     }
   13360            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13361            0 :                                     res_op0 = _r1;
   13362              :                                   }
   13363            0 :                                   tree _r;
   13364            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13365            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13366            0 :                                   return _r;
   13367              :                                 }
   13368            0 : next_after_fail1916:;
   13369              :                               }
   13370              :                           }
   13371              :                       }
   13372              :                     }
   13373              :                   break;
   13374              :                 }
   13375              :               default:;
   13376              :               }
   13377              :           }
   13378          897 :         switch (TREE_CODE (_q20))
   13379              :           {
   13380            0 :           case MINUS_EXPR:
   13381            0 :             {
   13382            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13383            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13384            0 :               if (zerop (_q21))
   13385              :                 {
   13386            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13387              :                     {
   13388            0 :                       switch (TREE_CODE (_p2))
   13389              :                         {
   13390            0 :                         case MINUS_EXPR:
   13391            0 :                           {
   13392            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13393            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13394            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13395              :                               {
   13396            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13397              :                                   {
   13398            0 :                                     {
   13399            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13400            0 :                                       const enum tree_code cmp = LE_EXPR;
   13401            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13402            0 :  && !TYPE_UNSIGNED (type)
   13403              : )
   13404              :                                         {
   13405            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13406            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13407              : )
   13408              :                                             {
   13409            0 :                                               {
   13410            0 :  tree utype = unsigned_type_for (type);
   13411            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1917;
   13412            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1917;
   13413            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
   13414            0 :                                                   {
   13415            0 :                                                     tree res_op0;
   13416            0 :                                                     {
   13417            0 :                                                       tree _o1[1], _r1;
   13418            0 :                                                       {
   13419            0 :                                                         tree _o2[1], _r2;
   13420            0 :                                                         _o2[0] = captures[0];
   13421            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13422            0 :                                                         _o1[0] = _r2;
   13423              :                                                       }
   13424            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13425            0 :                                                       res_op0 = _r1;
   13426              :                                                     }
   13427            0 :                                                     tree _r;
   13428            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13429            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   13430            0 :                                                     return _r;
   13431              :                                                   }
   13432            0 : next_after_fail1917:;
   13433              :                                               }
   13434              :                                             }
   13435              :                                           else
   13436              :                                             {
   13437            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1918;
   13438            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1918;
   13439            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
   13440            0 :                                               {
   13441            0 :                                                 tree res_op0;
   13442            0 :                                                 {
   13443            0 :                                                   tree _o1[1], _r1;
   13444            0 :                                                   _o1[0] = captures[0];
   13445            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13446            0 :                                                   res_op0 = _r1;
   13447              :                                                 }
   13448            0 :                                                 tree _r;
   13449            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13450            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   13451            0 :                                                 return _r;
   13452              :                                               }
   13453            0 : next_after_fail1918:;
   13454              :                                             }
   13455              :                                         }
   13456              :                                     }
   13457              :                                   }
   13458              :                               }
   13459              :                             break;
   13460              :                           }
   13461              :                         default:;
   13462              :                         }
   13463              :                     }
   13464              :                 }
   13465              :               break;
   13466              :             }
   13467              :           default:;
   13468              :           }
   13469              :         break;
   13470              :       }
   13471        20593 :     case LT_EXPR:
   13472        20593 :       {
   13473        20593 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13474        20593 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13475        20593 :         switch (TREE_CODE (_q20))
   13476              :           {
   13477            0 :           CASE_CONVERT:
   13478            0 :             {
   13479            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13480            0 :               if (zerop (_q21))
   13481              :                 {
   13482            0 :                   switch (TREE_CODE (_p2))
   13483              :                     {
   13484            0 :                     case NEGATE_EXPR:
   13485            0 :                       {
   13486            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13487            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13488              :                           {
   13489            0 :                             {
   13490            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13491            0 :                               const enum tree_code cmp = LT_EXPR;
   13492            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13493            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13494            0 :  && element_precision (captures[1])
   13495            0 :  <= element_precision (captures[0])
   13496            0 :  && bitwise_equal_p (captures[1], captures[2])
   13497              : )
   13498              :                                 {
   13499            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13500            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13501            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13502              : )
   13503              :                                     {
   13504            0 :                                       {
   13505            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13506            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13507            0 :                                           if (types_match (captures[0], stype)
   13508              : )
   13509              :                                             {
   13510            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1919;
   13511            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
   13512            0 :                                               {
   13513            0 :                                                 tree res_op0;
   13514            0 :                                                 {
   13515            0 :                                                   tree _o1[1], _r1;
   13516            0 :                                                   {
   13517            0 :                                                     tree _o2[1], _r2;
   13518            0 :                                                     _o2[0] = captures[0];
   13519            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13520            0 :                                                     _o1[0] = _r2;
   13521              :                                                   }
   13522            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13523            0 :                                                   res_op0 = _r1;
   13524              :                                                 }
   13525            0 :                                                 tree _r;
   13526            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13527            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13528            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13529            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13530            0 :                                                 return _r;
   13531              :                                               }
   13532            0 : next_after_fail1919:;
   13533              :                                             }
   13534              :                                           else
   13535              :                                             {
   13536            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1920;
   13537            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
   13538            0 :                                               {
   13539            0 :                                                 tree res_op0;
   13540            0 :                                                 {
   13541            0 :                                                   tree _o1[1], _r1;
   13542            0 :                                                   {
   13543            0 :                                                     tree _o2[1], _r2;
   13544            0 :                                                     {
   13545            0 :                                                       tree _o3[1], _r3;
   13546            0 :                                                       _o3[0] = captures[2];
   13547            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   13548              :                                                         {
   13549            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13550              :                                                         }
   13551              :                                                       else
   13552              :                                                         _r3 = _o3[0];
   13553            0 :                                                       _o2[0] = _r3;
   13554              :                                                     }
   13555            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13556            0 :                                                     _o1[0] = _r2;
   13557              :                                                   }
   13558            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13559            0 :                                                   res_op0 = _r1;
   13560              :                                                 }
   13561            0 :                                                 tree _r;
   13562            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13563            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13564            0 :                                                 return _r;
   13565              :                                               }
   13566            0 : next_after_fail1920:;
   13567              :                                             }
   13568              :                                       }
   13569              :                                     }
   13570              :                                   else
   13571              :                                     {
   13572            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1921;
   13573            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
   13574            0 :                                       {
   13575            0 :                                         tree res_op0;
   13576            0 :                                         {
   13577            0 :                                           tree _o1[1], _r1;
   13578            0 :                                           {
   13579            0 :                                             tree _o2[1], _r2;
   13580            0 :                                             _o2[0] = captures[2];
   13581            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13582            0 :                                             _o1[0] = _r2;
   13583              :                                           }
   13584            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13585            0 :                                           res_op0 = _r1;
   13586              :                                         }
   13587            0 :                                         tree _r;
   13588            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13589            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13590            0 :                                         return _r;
   13591              :                                       }
   13592            0 : next_after_fail1921:;
   13593              :                                     }
   13594              :                                 }
   13595              :                             }
   13596              :                           }
   13597              :                         break;
   13598              :                       }
   13599              :                     default:;
   13600              :                     }
   13601              :                 }
   13602              :               break;
   13603              :             }
   13604        20593 :           default:;
   13605              :           }
   13606        20593 :         if (zerop (_q21))
   13607              :           {
   13608          550 :             switch (TREE_CODE (_p2))
   13609              :               {
   13610           16 :               case NEGATE_EXPR:
   13611           16 :                 {
   13612           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13613           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13614              :                     {
   13615           16 :                       {
   13616           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13617           16 :                         const enum tree_code cmp = LT_EXPR;
   13618           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13619           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13620           32 :  && element_precision (captures[1])
   13621           16 :  <= element_precision (captures[0])
   13622           32 :  && bitwise_equal_p (captures[1], captures[2])
   13623              : )
   13624              :                           {
   13625           32 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   13626           16 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   13627           16 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13628              : )
   13629              :                               {
   13630           16 :                                 {
   13631           16 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13632           16 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   13633           16 :                                     if (types_match (captures[0], stype)
   13634              : )
   13635              :                                       {
   13636           16 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1922;
   13637           16 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
   13638           16 :                                         {
   13639           16 :                                           tree res_op0;
   13640           16 :                                           {
   13641           16 :                                             tree _o1[1], _r1;
   13642           16 :                                             {
   13643           16 :                                               tree _o2[1], _r2;
   13644           16 :                                               _o2[0] = captures[0];
   13645           16 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13646           16 :                                               _o1[0] = _r2;
   13647              :                                             }
   13648           16 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13649           16 :                                             res_op0 = _r1;
   13650              :                                           }
   13651           16 :                                           tree _r;
   13652           16 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13653           16 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13654            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13655           16 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
   13656           16 :                                           return _r;
   13657              :                                         }
   13658            0 : next_after_fail1922:;
   13659              :                                       }
   13660              :                                     else
   13661              :                                       {
   13662            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1923;
   13663            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
   13664            0 :                                         {
   13665            0 :                                           tree res_op0;
   13666            0 :                                           {
   13667            0 :                                             tree _o1[1], _r1;
   13668            0 :                                             {
   13669            0 :                                               tree _o2[1], _r2;
   13670            0 :                                               {
   13671            0 :                                                 tree _o3[1], _r3;
   13672            0 :                                                 _o3[0] = captures[2];
   13673            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   13674              :                                                   {
   13675            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   13676              :                                                   }
   13677              :                                                 else
   13678              :                                                   _r3 = _o3[0];
   13679            0 :                                                 _o2[0] = _r3;
   13680              :                                               }
   13681            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13682            0 :                                               _o1[0] = _r2;
   13683              :                                             }
   13684            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13685            0 :                                             res_op0 = _r1;
   13686              :                                           }
   13687            0 :                                           tree _r;
   13688            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13689            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1049, __FILE__, __LINE__, true);
   13690            0 :                                           return _r;
   13691              :                                         }
   13692            0 : next_after_fail1923:;
   13693              :                                       }
   13694              :                                 }
   13695              :                               }
   13696              :                             else
   13697              :                               {
   13698            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1924;
   13699            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
   13700            0 :                                 {
   13701            0 :                                   tree res_op0;
   13702            0 :                                   {
   13703            0 :                                     tree _o1[1], _r1;
   13704            0 :                                     {
   13705            0 :                                       tree _o2[1], _r2;
   13706            0 :                                       _o2[0] = captures[2];
   13707            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   13708            0 :                                       _o1[0] = _r2;
   13709              :                                     }
   13710            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13711            0 :                                     res_op0 = _r1;
   13712              :                                   }
   13713            0 :                                   tree _r;
   13714            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13715            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1050, __FILE__, __LINE__, true);
   13716            0 :                                   return _r;
   13717              :                                 }
   13718            0 : next_after_fail1924:;
   13719              :                               }
   13720              :                           }
   13721              :                       }
   13722              :                     }
   13723              :                   break;
   13724              :                 }
   13725              :               default:;
   13726              :               }
   13727              :           }
   13728        20577 :         switch (TREE_CODE (_q20))
   13729              :           {
   13730            0 :           case MINUS_EXPR:
   13731            0 :             {
   13732            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13733            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13734            0 :               if (zerop (_q21))
   13735              :                 {
   13736            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13737              :                     {
   13738            0 :                       switch (TREE_CODE (_p2))
   13739              :                         {
   13740            0 :                         case MINUS_EXPR:
   13741            0 :                           {
   13742            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13743            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13744            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13745              :                               {
   13746            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13747              :                                   {
   13748            0 :                                     {
   13749            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13750            0 :                                       const enum tree_code cmp = LT_EXPR;
   13751            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13752            0 :  && !TYPE_UNSIGNED (type)
   13753              : )
   13754              :                                         {
   13755            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   13756            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   13757              : )
   13758              :                                             {
   13759            0 :                                               {
   13760            0 :  tree utype = unsigned_type_for (type);
   13761            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1925;
   13762            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1925;
   13763            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
   13764            0 :                                                   {
   13765            0 :                                                     tree res_op0;
   13766            0 :                                                     {
   13767            0 :                                                       tree _o1[1], _r1;
   13768            0 :                                                       {
   13769            0 :                                                         tree _o2[1], _r2;
   13770            0 :                                                         _o2[0] = captures[0];
   13771            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   13772            0 :                                                         _o1[0] = _r2;
   13773              :                                                       }
   13774            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13775            0 :                                                       res_op0 = _r1;
   13776              :                                                     }
   13777            0 :                                                     tree _r;
   13778            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13779            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1051, __FILE__, __LINE__, true);
   13780            0 :                                                     return _r;
   13781              :                                                   }
   13782            0 : next_after_fail1925:;
   13783              :                                               }
   13784              :                                             }
   13785              :                                           else
   13786              :                                             {
   13787            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1926;
   13788            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1926;
   13789            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
   13790            0 :                                               {
   13791            0 :                                                 tree res_op0;
   13792            0 :                                                 {
   13793            0 :                                                   tree _o1[1], _r1;
   13794            0 :                                                   _o1[0] = captures[0];
   13795            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   13796            0 :                                                   res_op0 = _r1;
   13797              :                                                 }
   13798            0 :                                                 tree _r;
   13799            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   13800            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   13801            0 :                                                 return _r;
   13802              :                                               }
   13803            0 : next_after_fail1926:;
   13804              :                                             }
   13805              :                                         }
   13806              :                                     }
   13807              :                                   }
   13808              :                               }
   13809              :                             break;
   13810              :                           }
   13811              :                         default:;
   13812              :                         }
   13813              :                     }
   13814              :                 }
   13815              :               break;
   13816              :             }
   13817              :           default:;
   13818              :           }
   13819              :         break;
   13820              :       }
   13821       332775 :     default:;
   13822              :     }
   13823       332775 : {
   13824       332775 :   tree _p0_pops[1];
   13825       332775 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   13826              :     {
   13827          528 :       tree _q20 = _p0_pops[0];
   13828          528 :       if (tree_truth_valued_p (_q20))
   13829              :         {
   13830            0 :           {
   13831            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13832            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   13833              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   13834              : )
   13835              :               {
   13836            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
   13837            0 :                 {
   13838            0 :                   tree res_op0;
   13839            0 :                   res_op0 = captures[0];
   13840            0 :                   tree res_op1;
   13841            0 :                   res_op1 = captures[2];
   13842            0 :                   tree res_op2;
   13843            0 :                   res_op2 = captures[1];
   13844            0 :                   tree _r;
   13845            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   13846            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   13847            0 :                   return _r;
   13848              :                 }
   13849            0 : next_after_fail1927:;
   13850              :               }
   13851              :           }
   13852              :         }
   13853              :     }
   13854              : }
   13855       332775 :   switch (TREE_CODE (_p1))
   13856              :     {
   13857            0 :     case VIEW_CONVERT_EXPR:
   13858            0 :       {
   13859            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   13860            0 :         switch (TREE_CODE (_q30))
   13861              :           {
   13862            0 :           case CALL_EXPR:
   13863            0 :             switch (get_call_combined_fn (_q30))
   13864              :               {
   13865            0 :               case CFN_COND_ADD:
   13866            0 :                 if (call_expr_nargs (_q30) == 4)
   13867              :     {
   13868            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13869            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13870            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13871            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13872            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13873              :                       {
   13874            0 :                         {
   13875            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13876            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   13877            0 :                           if (res) return res;
   13878              :                         }
   13879              :                       }
   13880              :                   }
   13881              :                 break;
   13882            0 :               case CFN_COND_AND:
   13883            0 :                 if (call_expr_nargs (_q30) == 4)
   13884              :     {
   13885            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13886            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13887            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13888            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13889            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13890              :                       {
   13891            0 :                         {
   13892            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13893            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   13894            0 :                           if (res) return res;
   13895              :                         }
   13896              :                       }
   13897              :                   }
   13898              :                 break;
   13899            0 :               case CFN_COND_DIV:
   13900            0 :                 if (call_expr_nargs (_q30) == 4)
   13901              :     {
   13902            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13903            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13904            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13905            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13906            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13907              :                       {
   13908            0 :                         {
   13909            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13910            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   13911            0 :                           if (res) return res;
   13912              :                         }
   13913              :                       }
   13914              :                   }
   13915              :                 break;
   13916            0 :               case CFN_COND_IOR:
   13917            0 :                 if (call_expr_nargs (_q30) == 4)
   13918              :     {
   13919            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13920            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13921            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13922            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13923            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13924              :                       {
   13925            0 :                         {
   13926            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13927            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   13928            0 :                           if (res) return res;
   13929              :                         }
   13930              :                       }
   13931              :                   }
   13932              :                 break;
   13933            0 :               case CFN_COND_MAX:
   13934            0 :                 if (call_expr_nargs (_q30) == 4)
   13935              :     {
   13936            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13937            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13938            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13939            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13940            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13941              :                       {
   13942            0 :                         {
   13943            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13944            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   13945            0 :                           if (res) return res;
   13946              :                         }
   13947              :                       }
   13948              :                   }
   13949              :                 break;
   13950            0 :               case CFN_COND_MIN:
   13951            0 :                 if (call_expr_nargs (_q30) == 4)
   13952              :     {
   13953            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13954            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13955            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13956            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13957            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13958              :                       {
   13959            0 :                         {
   13960            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13961            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   13962            0 :                           if (res) return res;
   13963              :                         }
   13964              :                       }
   13965              :                   }
   13966              :                 break;
   13967            0 :               case CFN_COND_MOD:
   13968            0 :                 if (call_expr_nargs (_q30) == 4)
   13969              :     {
   13970            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13971            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13972            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13973            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13974            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13975              :                       {
   13976            0 :                         {
   13977            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13978            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   13979            0 :                           if (res) return res;
   13980              :                         }
   13981              :                       }
   13982              :                   }
   13983              :                 break;
   13984            0 :               case CFN_COND_MUL:
   13985            0 :                 if (call_expr_nargs (_q30) == 4)
   13986              :     {
   13987            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   13988            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   13989            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   13990            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   13991            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   13992              :                       {
   13993            0 :                         {
   13994            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   13995            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   13996            0 :                           if (res) return res;
   13997              :                         }
   13998              :                       }
   13999              :                   }
   14000              :                 break;
   14001            0 :               case CFN_COND_SHL:
   14002            0 :                 if (call_expr_nargs (_q30) == 4)
   14003              :     {
   14004            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14005            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14006            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14007            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14008            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14009              :                       {
   14010            0 :                         {
   14011            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14012            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14013            0 :                           if (res) return res;
   14014              :                         }
   14015              :                       }
   14016              :                   }
   14017              :                 break;
   14018            0 :               case CFN_COND_SHR:
   14019            0 :                 if (call_expr_nargs (_q30) == 4)
   14020              :     {
   14021            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14022            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14023            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14024            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14025            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14026              :                       {
   14027            0 :                         {
   14028            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14029            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14030            0 :                           if (res) return res;
   14031              :                         }
   14032              :                       }
   14033              :                   }
   14034              :                 break;
   14035            0 :               case CFN_COND_SUB:
   14036            0 :                 if (call_expr_nargs (_q30) == 4)
   14037              :     {
   14038            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14039            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14040            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14041            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14042            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14043              :                       {
   14044            0 :                         {
   14045            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14046            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14047            0 :                           if (res) return res;
   14048              :                         }
   14049              :                       }
   14050              :                   }
   14051              :                 break;
   14052            0 :               case CFN_COND_XOR:
   14053            0 :                 if (call_expr_nargs (_q30) == 4)
   14054              :     {
   14055            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14056            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14057            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14058            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14059            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14060              :                       {
   14061            0 :                         {
   14062            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14063            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14064            0 :                           if (res) return res;
   14065              :                         }
   14066              :                       }
   14067              :                   }
   14068              :                 break;
   14069            0 :               case CFN_COND_COPYSIGN:
   14070            0 :                 if (call_expr_nargs (_q30) == 4)
   14071              :     {
   14072            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14073            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14074            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14075            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14076            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14077              :                       {
   14078            0 :                         {
   14079            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14080            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14081            0 :                           if (res) return res;
   14082              :                         }
   14083              :                       }
   14084              :                   }
   14085              :                 break;
   14086            0 :               case CFN_COND_FMAX:
   14087            0 :                 if (call_expr_nargs (_q30) == 4)
   14088              :     {
   14089            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14090            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14091            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14092            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14093            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14094              :                       {
   14095            0 :                         {
   14096            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14097            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14098            0 :                           if (res) return res;
   14099              :                         }
   14100              :                       }
   14101              :                   }
   14102              :                 break;
   14103            0 :               case CFN_COND_FMIN:
   14104            0 :                 if (call_expr_nargs (_q30) == 4)
   14105              :     {
   14106            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14107            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14108            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14109            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14110            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14111              :                       {
   14112            0 :                         {
   14113            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14114            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14115            0 :                           if (res) return res;
   14116              :                         }
   14117              :                       }
   14118              :                   }
   14119              :                 break;
   14120            0 :               case CFN_COND_RDIV:
   14121            0 :                 if (call_expr_nargs (_q30) == 4)
   14122              :     {
   14123            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14124            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14125            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14126            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14127            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14128              :                       {
   14129            0 :                         {
   14130            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14131            0 :                           tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14132            0 :                           if (res) return res;
   14133              :                         }
   14134              :                       }
   14135              :                   }
   14136              :                 break;
   14137              :               default:;
   14138              :               }
   14139              :             break;
   14140              :           default:;
   14141              :           }
   14142              :         break;
   14143              :       }
   14144           12 :     case CALL_EXPR:
   14145           12 :       switch (get_call_combined_fn (_p1))
   14146              :         {
   14147            0 :         case CFN_COND_ADD:
   14148            0 :           if (call_expr_nargs (_p1) == 4)
   14149              :     {
   14150            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14151            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14152            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14153            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14154            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14155              :                 {
   14156            0 :                   {
   14157            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14158            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14159            0 :                     if (res) return res;
   14160              :                   }
   14161              :                 }
   14162              :             }
   14163              :           break;
   14164            0 :         case CFN_COND_AND:
   14165            0 :           if (call_expr_nargs (_p1) == 4)
   14166              :     {
   14167            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14168            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14169            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14170            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14171            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14172              :                 {
   14173            0 :                   {
   14174            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14175            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14176            0 :                     if (res) return res;
   14177              :                   }
   14178              :                 }
   14179              :             }
   14180              :           break;
   14181            0 :         case CFN_COND_DIV:
   14182            0 :           if (call_expr_nargs (_p1) == 4)
   14183              :     {
   14184            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14185            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14186            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14187            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14188            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14189              :                 {
   14190            0 :                   {
   14191            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14192            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14193            0 :                     if (res) return res;
   14194              :                   }
   14195              :                 }
   14196              :             }
   14197              :           break;
   14198            0 :         case CFN_COND_IOR:
   14199            0 :           if (call_expr_nargs (_p1) == 4)
   14200              :     {
   14201            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14202            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14203            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14204            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14205            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14206              :                 {
   14207            0 :                   {
   14208            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14209            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14210            0 :                     if (res) return res;
   14211              :                   }
   14212              :                 }
   14213              :             }
   14214              :           break;
   14215            0 :         case CFN_COND_MAX:
   14216            0 :           if (call_expr_nargs (_p1) == 4)
   14217              :     {
   14218            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14219            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14220            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14221            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14222            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14223              :                 {
   14224            0 :                   {
   14225            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14226            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14227            0 :                     if (res) return res;
   14228              :                   }
   14229              :                 }
   14230              :             }
   14231              :           break;
   14232            0 :         case CFN_COND_MIN:
   14233            0 :           if (call_expr_nargs (_p1) == 4)
   14234              :     {
   14235            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14236            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14237            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14238            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14239            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14240              :                 {
   14241            0 :                   {
   14242            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14243            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14244            0 :                     if (res) return res;
   14245              :                   }
   14246              :                 }
   14247              :             }
   14248              :           break;
   14249            0 :         case CFN_COND_MOD:
   14250            0 :           if (call_expr_nargs (_p1) == 4)
   14251              :     {
   14252            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14253            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14254            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14255            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14256            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14257              :                 {
   14258            0 :                   {
   14259            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14260            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14261            0 :                     if (res) return res;
   14262              :                   }
   14263              :                 }
   14264              :             }
   14265              :           break;
   14266            0 :         case CFN_COND_MUL:
   14267            0 :           if (call_expr_nargs (_p1) == 4)
   14268              :     {
   14269            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14270            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14271            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14272            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14273            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14274              :                 {
   14275            0 :                   {
   14276            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14277            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14278            0 :                     if (res) return res;
   14279              :                   }
   14280              :                 }
   14281              :             }
   14282              :           break;
   14283            0 :         case CFN_COND_SHL:
   14284            0 :           if (call_expr_nargs (_p1) == 4)
   14285              :     {
   14286            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14287            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14288            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14289            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14290            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14291              :                 {
   14292            0 :                   {
   14293            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14294            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14295            0 :                     if (res) return res;
   14296              :                   }
   14297              :                 }
   14298              :             }
   14299              :           break;
   14300            0 :         case CFN_COND_SHR:
   14301            0 :           if (call_expr_nargs (_p1) == 4)
   14302              :     {
   14303            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14304            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14305            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14306            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14307            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14308              :                 {
   14309            0 :                   {
   14310            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14311            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14312            0 :                     if (res) return res;
   14313              :                   }
   14314              :                 }
   14315              :             }
   14316              :           break;
   14317            0 :         case CFN_COND_SUB:
   14318            0 :           if (call_expr_nargs (_p1) == 4)
   14319              :     {
   14320            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14321            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14322            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14323            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14324            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14325              :                 {
   14326            0 :                   {
   14327            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14328            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14329            0 :                     if (res) return res;
   14330              :                   }
   14331              :                 }
   14332              :             }
   14333              :           break;
   14334            0 :         case CFN_COND_XOR:
   14335            0 :           if (call_expr_nargs (_p1) == 4)
   14336              :     {
   14337            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14338            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14339            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14340            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14341            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14342              :                 {
   14343            0 :                   {
   14344            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14345            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14346            0 :                     if (res) return res;
   14347              :                   }
   14348              :                 }
   14349              :             }
   14350              :           break;
   14351            0 :         case CFN_COND_COPYSIGN:
   14352            0 :           if (call_expr_nargs (_p1) == 4)
   14353              :     {
   14354            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14355            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14356            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14357            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14358            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14359              :                 {
   14360            0 :                   {
   14361            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14362            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14363            0 :                     if (res) return res;
   14364              :                   }
   14365              :                 }
   14366              :             }
   14367              :           break;
   14368            0 :         case CFN_COND_FMAX:
   14369            0 :           if (call_expr_nargs (_p1) == 4)
   14370              :     {
   14371            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14372            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14373            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14374            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14375            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14376              :                 {
   14377            0 :                   {
   14378            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14379            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14380            0 :                     if (res) return res;
   14381              :                   }
   14382              :                 }
   14383              :             }
   14384              :           break;
   14385            0 :         case CFN_COND_FMIN:
   14386            0 :           if (call_expr_nargs (_p1) == 4)
   14387              :     {
   14388            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14389            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14390            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14391            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14392            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14393              :                 {
   14394            0 :                   {
   14395            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14396            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14397            0 :                     if (res) return res;
   14398              :                   }
   14399              :                 }
   14400              :             }
   14401              :           break;
   14402            0 :         case CFN_COND_RDIV:
   14403            0 :           if (call_expr_nargs (_p1) == 4)
   14404              :     {
   14405            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14406            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14407            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14408            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14409            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14410              :                 {
   14411            0 :                   {
   14412            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   14413            0 :                     tree res = generic_simplify_539 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14414            0 :                     if (res) return res;
   14415              :                   }
   14416              :                 }
   14417              :             }
   14418              :           break;
   14419              :         default:;
   14420              :         }
   14421              :       break;
   14422       332775 :     default:;
   14423              :     }
   14424       332775 :   switch (TREE_CODE (_p2))
   14425              :     {
   14426            0 :     case VIEW_CONVERT_EXPR:
   14427            0 :       {
   14428            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   14429            0 :         switch (TREE_CODE (_q40))
   14430              :           {
   14431            0 :           case CALL_EXPR:
   14432            0 :             switch (get_call_combined_fn (_q40))
   14433              :               {
   14434            0 :               case CFN_COND_ADD:
   14435            0 :                 if (call_expr_nargs (_q40) == 4)
   14436              :     {
   14437            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14438            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14439            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14440            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14441            0 :                     {
   14442            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14443            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14444            0 :                       if (res) return res;
   14445              :                     }
   14446              :                   }
   14447              :                 break;
   14448            0 :               case CFN_COND_AND:
   14449            0 :                 if (call_expr_nargs (_q40) == 4)
   14450              :     {
   14451            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14452            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14453            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14454            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14455            0 :                     {
   14456            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14457            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14458            0 :                       if (res) return res;
   14459              :                     }
   14460              :                   }
   14461              :                 break;
   14462            0 :               case CFN_COND_DIV:
   14463            0 :                 if (call_expr_nargs (_q40) == 4)
   14464              :     {
   14465            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14466            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14467            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14468            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14469            0 :                     {
   14470            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14471            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14472            0 :                       if (res) return res;
   14473              :                     }
   14474              :                   }
   14475              :                 break;
   14476            0 :               case CFN_COND_IOR:
   14477            0 :                 if (call_expr_nargs (_q40) == 4)
   14478              :     {
   14479            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14480            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14481            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14482            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14483            0 :                     {
   14484            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14485            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14486            0 :                       if (res) return res;
   14487              :                     }
   14488              :                   }
   14489              :                 break;
   14490            0 :               case CFN_COND_MAX:
   14491            0 :                 if (call_expr_nargs (_q40) == 4)
   14492              :     {
   14493            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14494            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14495            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14496            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14497            0 :                     {
   14498            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14499            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14500            0 :                       if (res) return res;
   14501              :                     }
   14502              :                   }
   14503              :                 break;
   14504            0 :               case CFN_COND_MIN:
   14505            0 :                 if (call_expr_nargs (_q40) == 4)
   14506              :     {
   14507            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14508            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14509            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14510            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14511            0 :                     {
   14512            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14513            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14514            0 :                       if (res) return res;
   14515              :                     }
   14516              :                   }
   14517              :                 break;
   14518            0 :               case CFN_COND_MOD:
   14519            0 :                 if (call_expr_nargs (_q40) == 4)
   14520              :     {
   14521            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14522            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14523            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14524            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14525            0 :                     {
   14526            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14527            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14528            0 :                       if (res) return res;
   14529              :                     }
   14530              :                   }
   14531              :                 break;
   14532            0 :               case CFN_COND_MUL:
   14533            0 :                 if (call_expr_nargs (_q40) == 4)
   14534              :     {
   14535            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14536            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14537            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14538            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14539            0 :                     {
   14540            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14541            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14542            0 :                       if (res) return res;
   14543              :                     }
   14544              :                   }
   14545              :                 break;
   14546            0 :               case CFN_COND_SHL:
   14547            0 :                 if (call_expr_nargs (_q40) == 4)
   14548              :     {
   14549            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14550            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14551            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14552            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14553            0 :                     {
   14554            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14555            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14556            0 :                       if (res) return res;
   14557              :                     }
   14558              :                   }
   14559              :                 break;
   14560            0 :               case CFN_COND_SHR:
   14561            0 :                 if (call_expr_nargs (_q40) == 4)
   14562              :     {
   14563            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14564            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14565            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14566            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14567            0 :                     {
   14568            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14569            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14570            0 :                       if (res) return res;
   14571              :                     }
   14572              :                   }
   14573              :                 break;
   14574            0 :               case CFN_COND_SUB:
   14575            0 :                 if (call_expr_nargs (_q40) == 4)
   14576              :     {
   14577            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14578            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14579            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14580            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14581            0 :                     {
   14582            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14583            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14584            0 :                       if (res) return res;
   14585              :                     }
   14586              :                   }
   14587              :                 break;
   14588            0 :               case CFN_COND_XOR:
   14589            0 :                 if (call_expr_nargs (_q40) == 4)
   14590              :     {
   14591            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14592            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14593            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14594            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14595            0 :                     {
   14596            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14597            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14598            0 :                       if (res) return res;
   14599              :                     }
   14600              :                   }
   14601              :                 break;
   14602            0 :               case CFN_COND_COPYSIGN:
   14603            0 :                 if (call_expr_nargs (_q40) == 4)
   14604              :     {
   14605            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14606            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14607            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14608            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14609            0 :                     {
   14610            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14611            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14612            0 :                       if (res) return res;
   14613              :                     }
   14614              :                   }
   14615              :                 break;
   14616            0 :               case CFN_COND_FMAX:
   14617            0 :                 if (call_expr_nargs (_q40) == 4)
   14618              :     {
   14619            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14620            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14621            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14622            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14623            0 :                     {
   14624            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14625            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14626            0 :                       if (res) return res;
   14627              :                     }
   14628              :                   }
   14629              :                 break;
   14630            0 :               case CFN_COND_FMIN:
   14631            0 :                 if (call_expr_nargs (_q40) == 4)
   14632              :     {
   14633            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14634            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14635            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14636            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14637            0 :                     {
   14638            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14639            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14640            0 :                       if (res) return res;
   14641              :                     }
   14642              :                   }
   14643              :                 break;
   14644            0 :               case CFN_COND_RDIV:
   14645            0 :                 if (call_expr_nargs (_q40) == 4)
   14646              :     {
   14647            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   14648            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   14649            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   14650            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   14651            0 :                     {
   14652            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   14653            0 :                       tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14654            0 :                       if (res) return res;
   14655              :                     }
   14656              :                   }
   14657              :                 break;
   14658              :               default:;
   14659              :               }
   14660              :             break;
   14661              :           default:;
   14662              :           }
   14663              :         break;
   14664              :       }
   14665           12 :     case CALL_EXPR:
   14666           12 :       switch (get_call_combined_fn (_p2))
   14667              :         {
   14668            0 :         case CFN_COND_ADD:
   14669            0 :           if (call_expr_nargs (_p2) == 4)
   14670              :     {
   14671            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14672            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14673            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14674            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14675            0 :               {
   14676            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14677            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14678            0 :                 if (res) return res;
   14679              :               }
   14680              :             }
   14681              :           break;
   14682            0 :         case CFN_COND_AND:
   14683            0 :           if (call_expr_nargs (_p2) == 4)
   14684              :     {
   14685            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14686            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14687            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14688            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14689            0 :               {
   14690            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14691            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14692            0 :                 if (res) return res;
   14693              :               }
   14694              :             }
   14695              :           break;
   14696            0 :         case CFN_COND_DIV:
   14697            0 :           if (call_expr_nargs (_p2) == 4)
   14698              :     {
   14699            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14700            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14701            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14702            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14703            0 :               {
   14704            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14705            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14706            0 :                 if (res) return res;
   14707              :               }
   14708              :             }
   14709              :           break;
   14710            0 :         case CFN_COND_IOR:
   14711            0 :           if (call_expr_nargs (_p2) == 4)
   14712              :     {
   14713            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14714            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14715            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14716            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14717            0 :               {
   14718            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14719            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14720            0 :                 if (res) return res;
   14721              :               }
   14722              :             }
   14723              :           break;
   14724            0 :         case CFN_COND_MAX:
   14725            0 :           if (call_expr_nargs (_p2) == 4)
   14726              :     {
   14727            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14728            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14729            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14730            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14731            0 :               {
   14732            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14733            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14734            0 :                 if (res) return res;
   14735              :               }
   14736              :             }
   14737              :           break;
   14738            0 :         case CFN_COND_MIN:
   14739            0 :           if (call_expr_nargs (_p2) == 4)
   14740              :     {
   14741            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14742            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14743            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14744            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14745            0 :               {
   14746            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14747            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14748            0 :                 if (res) return res;
   14749              :               }
   14750              :             }
   14751              :           break;
   14752            0 :         case CFN_COND_MOD:
   14753            0 :           if (call_expr_nargs (_p2) == 4)
   14754              :     {
   14755            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14756            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14757            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14758            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14759            0 :               {
   14760            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14761            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14762            0 :                 if (res) return res;
   14763              :               }
   14764              :             }
   14765              :           break;
   14766            0 :         case CFN_COND_MUL:
   14767            0 :           if (call_expr_nargs (_p2) == 4)
   14768              :     {
   14769            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14770            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14771            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14772            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14773            0 :               {
   14774            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14775            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14776            0 :                 if (res) return res;
   14777              :               }
   14778              :             }
   14779              :           break;
   14780            0 :         case CFN_COND_SHL:
   14781            0 :           if (call_expr_nargs (_p2) == 4)
   14782              :     {
   14783            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14784            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14785            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14786            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14787            0 :               {
   14788            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14789            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14790            0 :                 if (res) return res;
   14791              :               }
   14792              :             }
   14793              :           break;
   14794            0 :         case CFN_COND_SHR:
   14795            0 :           if (call_expr_nargs (_p2) == 4)
   14796              :     {
   14797            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14798            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14799            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14800            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14801            0 :               {
   14802            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14803            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14804            0 :                 if (res) return res;
   14805              :               }
   14806              :             }
   14807              :           break;
   14808            0 :         case CFN_COND_SUB:
   14809            0 :           if (call_expr_nargs (_p2) == 4)
   14810              :     {
   14811            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14812            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14813            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14814            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14815            0 :               {
   14816            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14817            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14818            0 :                 if (res) return res;
   14819              :               }
   14820              :             }
   14821              :           break;
   14822            0 :         case CFN_COND_XOR:
   14823            0 :           if (call_expr_nargs (_p2) == 4)
   14824              :     {
   14825            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14826            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14827            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14828            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14829            0 :               {
   14830            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14831            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14832            0 :                 if (res) return res;
   14833              :               }
   14834              :             }
   14835              :           break;
   14836            0 :         case CFN_COND_COPYSIGN:
   14837            0 :           if (call_expr_nargs (_p2) == 4)
   14838              :     {
   14839            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14840            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14841            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14842            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14843            0 :               {
   14844            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14845            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14846            0 :                 if (res) return res;
   14847              :               }
   14848              :             }
   14849              :           break;
   14850            0 :         case CFN_COND_FMAX:
   14851            0 :           if (call_expr_nargs (_p2) == 4)
   14852              :     {
   14853            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14854            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14855            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14856            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14857            0 :               {
   14858            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14859            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14860            0 :                 if (res) return res;
   14861              :               }
   14862              :             }
   14863              :           break;
   14864            0 :         case CFN_COND_FMIN:
   14865            0 :           if (call_expr_nargs (_p2) == 4)
   14866              :     {
   14867            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14868            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14869            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14870            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14871            0 :               {
   14872            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14873            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14874            0 :                 if (res) return res;
   14875              :               }
   14876              :             }
   14877              :           break;
   14878            0 :         case CFN_COND_RDIV:
   14879            0 :           if (call_expr_nargs (_p2) == 4)
   14880              :     {
   14881            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   14882            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   14883            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   14884            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   14885            0 :               {
   14886            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   14887            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   14888            0 :                 if (res) return res;
   14889              :               }
   14890              :             }
   14891              :           break;
   14892              :         default:;
   14893              :         }
   14894              :       break;
   14895       332775 :     default:;
   14896              :     }
   14897       332775 :   switch (TREE_CODE (_p1))
   14898              :     {
   14899            0 :     case VIEW_CONVERT_EXPR:
   14900            0 :       {
   14901            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14902            0 :         switch (TREE_CODE (_q30))
   14903              :           {
   14904            0 :           case CALL_EXPR:
   14905            0 :             switch (get_call_combined_fn (_q30))
   14906              :               {
   14907            0 :               case CFN_COND_FMA:
   14908            0 :                 if (call_expr_nargs (_q30) == 5)
   14909              :     {
   14910            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14911            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14912            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14913            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14914            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14915            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14916              :                       {
   14917            0 :                         {
   14918            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14919            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   14920            0 :                           if (res) return res;
   14921              :                         }
   14922              :                       }
   14923              :                   }
   14924              :                 break;
   14925            0 :               case CFN_COND_FMS:
   14926            0 :                 if (call_expr_nargs (_q30) == 5)
   14927              :     {
   14928            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14929            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14930            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14931            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14932            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14933            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14934              :                       {
   14935            0 :                         {
   14936            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14937            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   14938            0 :                           if (res) return res;
   14939              :                         }
   14940              :                       }
   14941              :                   }
   14942              :                 break;
   14943            0 :               case CFN_COND_FNMA:
   14944            0 :                 if (call_expr_nargs (_q30) == 5)
   14945              :     {
   14946            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14947            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14948            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14949            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14950            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14951            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14952              :                       {
   14953            0 :                         {
   14954            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14955            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   14956            0 :                           if (res) return res;
   14957              :                         }
   14958              :                       }
   14959              :                   }
   14960              :                 break;
   14961            0 :               case CFN_COND_FNMS:
   14962            0 :                 if (call_expr_nargs (_q30) == 5)
   14963              :     {
   14964            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14965            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14966            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14967            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14968            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   14969            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14970              :                       {
   14971            0 :                         {
   14972            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   14973            0 :                           tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   14974            0 :                           if (res) return res;
   14975              :                         }
   14976              :                       }
   14977              :                   }
   14978              :                 break;
   14979              :               default:;
   14980              :               }
   14981              :             break;
   14982              :           default:;
   14983              :           }
   14984              :         break;
   14985              :       }
   14986           12 :     case CALL_EXPR:
   14987           12 :       switch (get_call_combined_fn (_p1))
   14988              :         {
   14989            0 :         case CFN_COND_FMA:
   14990            0 :           if (call_expr_nargs (_p1) == 5)
   14991              :     {
   14992            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   14993            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   14994            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   14995            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   14996            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   14997            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   14998              :                 {
   14999            0 :                   {
   15000            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15001            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15002            0 :                     if (res) return res;
   15003              :                   }
   15004              :                 }
   15005              :             }
   15006              :           break;
   15007            0 :         case CFN_COND_FMS:
   15008            0 :           if (call_expr_nargs (_p1) == 5)
   15009              :     {
   15010            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15011            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15012            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15013            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15014            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15015            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15016              :                 {
   15017            0 :                   {
   15018            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15019            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15020            0 :                     if (res) return res;
   15021              :                   }
   15022              :                 }
   15023              :             }
   15024              :           break;
   15025            0 :         case CFN_COND_FNMA:
   15026            0 :           if (call_expr_nargs (_p1) == 5)
   15027              :     {
   15028            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15029            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15030            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15031            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15032            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15033            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15034              :                 {
   15035            0 :                   {
   15036            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15037            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15038            0 :                     if (res) return res;
   15039              :                   }
   15040              :                 }
   15041              :             }
   15042              :           break;
   15043            0 :         case CFN_COND_FNMS:
   15044            0 :           if (call_expr_nargs (_p1) == 5)
   15045              :     {
   15046            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15047            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15048            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15049            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15050            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15051            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15052              :                 {
   15053            0 :                   {
   15054            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15055            0 :                     tree res = generic_simplify_541 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15056            0 :                     if (res) return res;
   15057              :                   }
   15058              :                 }
   15059              :             }
   15060              :           break;
   15061              :         default:;
   15062              :         }
   15063              :       break;
   15064       332775 :     default:;
   15065              :     }
   15066       332775 :   switch (TREE_CODE (_p2))
   15067              :     {
   15068            0 :     case VIEW_CONVERT_EXPR:
   15069            0 :       {
   15070            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15071            0 :         switch (TREE_CODE (_q40))
   15072              :           {
   15073            0 :           case CALL_EXPR:
   15074            0 :             switch (get_call_combined_fn (_q40))
   15075              :               {
   15076            0 :               case CFN_COND_FMA:
   15077            0 :                 if (call_expr_nargs (_q40) == 5)
   15078              :     {
   15079            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15080            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15081            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15082            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15083            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15084            0 :                     {
   15085            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15086            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15087            0 :                       if (res) return res;
   15088              :                     }
   15089              :                   }
   15090              :                 break;
   15091            0 :               case CFN_COND_FMS:
   15092            0 :                 if (call_expr_nargs (_q40) == 5)
   15093              :     {
   15094            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15095            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15096            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15097            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15098            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15099            0 :                     {
   15100            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15101            0 :                       tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15102            0 :                       if (res) return res;
   15103              :                     }
   15104              :                   }
   15105              :                 break;
   15106            0 :               case CFN_COND_FNMA:
   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_FNMA);
   15117            0 :                       if (res) return res;
   15118              :                     }
   15119              :                   }
   15120              :                 break;
   15121            0 :               case CFN_COND_FNMS:
   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_FNMS);
   15132            0 :                       if (res) return res;
   15133              :                     }
   15134              :                   }
   15135              :                 break;
   15136              :               default:;
   15137              :               }
   15138              :             break;
   15139              :           default:;
   15140              :           }
   15141              :         break;
   15142              :       }
   15143           12 :     case CALL_EXPR:
   15144           12 :       switch (get_call_combined_fn (_p2))
   15145              :         {
   15146            0 :         case CFN_COND_FMA:
   15147            0 :           if (call_expr_nargs (_p2) == 5)
   15148              :     {
   15149            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15150            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15151            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15152            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15153            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15154            0 :               {
   15155            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15156            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15157            0 :                 if (res) return res;
   15158              :               }
   15159              :             }
   15160              :           break;
   15161            0 :         case CFN_COND_FMS:
   15162            0 :           if (call_expr_nargs (_p2) == 5)
   15163              :     {
   15164            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15165            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15166            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15167            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15168            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   15169            0 :               {
   15170            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   15171            0 :                 tree res = generic_simplify_542 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15172            0 :                 if (res) return res;
   15173              :               }
   15174              :             }
   15175              :           break;
   15176            0 :         case CFN_COND_FNMA:
   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_FNMA);
   15187            0 :                 if (res) return res;
   15188              :               }
   15189              :             }
   15190              :           break;
   15191            0 :         case CFN_COND_FNMS:
   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_FNMS);
   15202            0 :                 if (res) return res;
   15203              :               }
   15204              :             }
   15205              :           break;
   15206              :         default:;
   15207              :         }
   15208              :       break;
   15209       332775 :     default:;
   15210              :     }
   15211       332775 :   switch (TREE_CODE (_p1))
   15212              :     {
   15213            0 :     case VIEW_CONVERT_EXPR:
   15214            0 :       {
   15215            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15216            0 :         switch (TREE_CODE (_q30))
   15217              :           {
   15218            0 :           case CALL_EXPR:
   15219            0 :             switch (get_call_combined_fn (_q30))
   15220              :               {
   15221            0 :               case CFN_COND_LEN_ADD:
   15222            0 :                 if (call_expr_nargs (_q30) == 6)
   15223              :     {
   15224            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15225            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15226            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15227            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15228            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15229            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15230            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15231              :                       {
   15232            0 :                         {
   15233            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15234            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15235            0 :                           if (res) return res;
   15236              :                         }
   15237              :                       }
   15238              :                   }
   15239              :                 break;
   15240            0 :               case CFN_COND_LEN_AND:
   15241            0 :                 if (call_expr_nargs (_q30) == 6)
   15242              :     {
   15243            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15244            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15245            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15246            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15247            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15248            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15249            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15250              :                       {
   15251            0 :                         {
   15252            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15253            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15254            0 :                           if (res) return res;
   15255              :                         }
   15256              :                       }
   15257              :                   }
   15258              :                 break;
   15259            0 :               case CFN_COND_LEN_DIV:
   15260            0 :                 if (call_expr_nargs (_q30) == 6)
   15261              :     {
   15262            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15263            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15264            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15265            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15266            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15267            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15268            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15269              :                       {
   15270            0 :                         {
   15271            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15272            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15273            0 :                           if (res) return res;
   15274              :                         }
   15275              :                       }
   15276              :                   }
   15277              :                 break;
   15278            0 :               case CFN_COND_LEN_IOR:
   15279            0 :                 if (call_expr_nargs (_q30) == 6)
   15280              :     {
   15281            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15282            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15283            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15284            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15285            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15286            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15287            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15288              :                       {
   15289            0 :                         {
   15290            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15291            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15292            0 :                           if (res) return res;
   15293              :                         }
   15294              :                       }
   15295              :                   }
   15296              :                 break;
   15297            0 :               case CFN_COND_LEN_MAX:
   15298            0 :                 if (call_expr_nargs (_q30) == 6)
   15299              :     {
   15300            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15301            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15302            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15303            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15304            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15305            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15306            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15307              :                       {
   15308            0 :                         {
   15309            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15310            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15311            0 :                           if (res) return res;
   15312              :                         }
   15313              :                       }
   15314              :                   }
   15315              :                 break;
   15316            0 :               case CFN_COND_LEN_MIN:
   15317            0 :                 if (call_expr_nargs (_q30) == 6)
   15318              :     {
   15319            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15320            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15321            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15322            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15323            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15324            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15325            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15326              :                       {
   15327            0 :                         {
   15328            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15329            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15330            0 :                           if (res) return res;
   15331              :                         }
   15332              :                       }
   15333              :                   }
   15334              :                 break;
   15335            0 :               case CFN_COND_LEN_MOD:
   15336            0 :                 if (call_expr_nargs (_q30) == 6)
   15337              :     {
   15338            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15339            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15340            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15341            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15342            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15343            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15344            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15345              :                       {
   15346            0 :                         {
   15347            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15348            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15349            0 :                           if (res) return res;
   15350              :                         }
   15351              :                       }
   15352              :                   }
   15353              :                 break;
   15354            0 :               case CFN_COND_LEN_MUL:
   15355            0 :                 if (call_expr_nargs (_q30) == 6)
   15356              :     {
   15357            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15358            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15359            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15360            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15361            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15362            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15363            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15364              :                       {
   15365            0 :                         {
   15366            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15367            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15368            0 :                           if (res) return res;
   15369              :                         }
   15370              :                       }
   15371              :                   }
   15372              :                 break;
   15373            0 :               case CFN_COND_LEN_SHL:
   15374            0 :                 if (call_expr_nargs (_q30) == 6)
   15375              :     {
   15376            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15377            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15378            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15379            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15380            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15381            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15382            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15383              :                       {
   15384            0 :                         {
   15385            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15386            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15387            0 :                           if (res) return res;
   15388              :                         }
   15389              :                       }
   15390              :                   }
   15391              :                 break;
   15392            0 :               case CFN_COND_LEN_SHR:
   15393            0 :                 if (call_expr_nargs (_q30) == 6)
   15394              :     {
   15395            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15396            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15397            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15398            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15399            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15400            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15401            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15402              :                       {
   15403            0 :                         {
   15404            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15405            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15406            0 :                           if (res) return res;
   15407              :                         }
   15408              :                       }
   15409              :                   }
   15410              :                 break;
   15411            0 :               case CFN_COND_LEN_SUB:
   15412            0 :                 if (call_expr_nargs (_q30) == 6)
   15413              :     {
   15414            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15415            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15416            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15417            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15418            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15419            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15420            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15421              :                       {
   15422            0 :                         {
   15423            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15424            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15425            0 :                           if (res) return res;
   15426              :                         }
   15427              :                       }
   15428              :                   }
   15429              :                 break;
   15430            0 :               case CFN_COND_LEN_XOR:
   15431            0 :                 if (call_expr_nargs (_q30) == 6)
   15432              :     {
   15433            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15434            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15435            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15436            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15437            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15438            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15439            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15440              :                       {
   15441            0 :                         {
   15442            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15443            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15444            0 :                           if (res) return res;
   15445              :                         }
   15446              :                       }
   15447              :                   }
   15448              :                 break;
   15449            0 :               case CFN_COND_LEN_FMAX:
   15450            0 :                 if (call_expr_nargs (_q30) == 6)
   15451              :     {
   15452            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15453            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15454            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15455            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15456            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15457            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15458            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15459              :                       {
   15460            0 :                         {
   15461            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15462            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15463            0 :                           if (res) return res;
   15464              :                         }
   15465              :                       }
   15466              :                   }
   15467              :                 break;
   15468            0 :               case CFN_COND_LEN_FMIN:
   15469            0 :                 if (call_expr_nargs (_q30) == 6)
   15470              :     {
   15471            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15472            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15473            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15474            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15475            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15476            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15477            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15478              :                       {
   15479            0 :                         {
   15480            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15481            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15482            0 :                           if (res) return res;
   15483              :                         }
   15484              :                       }
   15485              :                   }
   15486              :                 break;
   15487            0 :               case CFN_COND_LEN_RDIV:
   15488            0 :                 if (call_expr_nargs (_q30) == 6)
   15489              :     {
   15490            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15491            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15492            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15493            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15494            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15495            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15496            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15497              :                       {
   15498            0 :                         {
   15499            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15500            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15501            0 :                           if (res) return res;
   15502              :                         }
   15503              :                       }
   15504              :                   }
   15505              :                 break;
   15506            0 :               case CFN_COND_LEN_COPYSIGN:
   15507            0 :                 if (call_expr_nargs (_q30) == 6)
   15508              :     {
   15509            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15510            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15511            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15512            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15513            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15514            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   15515            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15516              :                       {
   15517            0 :                         {
   15518            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   15519            0 :                           tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15520            0 :                           if (res) return res;
   15521              :                         }
   15522              :                       }
   15523              :                   }
   15524              :                 break;
   15525              :               default:;
   15526              :               }
   15527              :             break;
   15528              :           default:;
   15529              :           }
   15530              :         break;
   15531              :       }
   15532           12 :     case CALL_EXPR:
   15533           12 :       switch (get_call_combined_fn (_p1))
   15534              :         {
   15535            0 :         case CFN_COND_LEN_ADD:
   15536            0 :           if (call_expr_nargs (_p1) == 6)
   15537              :     {
   15538            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15539            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15540            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15541            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15542            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15543            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15544            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15545              :                 {
   15546            0 :                   {
   15547            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15548            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15549            0 :                     if (res) return res;
   15550              :                   }
   15551              :                 }
   15552              :             }
   15553              :           break;
   15554            0 :         case CFN_COND_LEN_AND:
   15555            0 :           if (call_expr_nargs (_p1) == 6)
   15556              :     {
   15557            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15558            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15559            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15560            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15561            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15562            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15563            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15564              :                 {
   15565            0 :                   {
   15566            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15567            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15568            0 :                     if (res) return res;
   15569              :                   }
   15570              :                 }
   15571              :             }
   15572              :           break;
   15573            0 :         case CFN_COND_LEN_DIV:
   15574            0 :           if (call_expr_nargs (_p1) == 6)
   15575              :     {
   15576            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15577            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15578            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15579            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15580            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15581            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15582            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15583              :                 {
   15584            0 :                   {
   15585            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15586            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15587            0 :                     if (res) return res;
   15588              :                   }
   15589              :                 }
   15590              :             }
   15591              :           break;
   15592            0 :         case CFN_COND_LEN_IOR:
   15593            0 :           if (call_expr_nargs (_p1) == 6)
   15594              :     {
   15595            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15596            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15597            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15598            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15599            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15600            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15601            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15602              :                 {
   15603            0 :                   {
   15604            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15605            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15606            0 :                     if (res) return res;
   15607              :                   }
   15608              :                 }
   15609              :             }
   15610              :           break;
   15611            0 :         case CFN_COND_LEN_MAX:
   15612            0 :           if (call_expr_nargs (_p1) == 6)
   15613              :     {
   15614            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15615            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15616            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15617            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15618            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15619            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15620            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15621              :                 {
   15622            0 :                   {
   15623            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15624            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15625            0 :                     if (res) return res;
   15626              :                   }
   15627              :                 }
   15628              :             }
   15629              :           break;
   15630            0 :         case CFN_COND_LEN_MIN:
   15631            0 :           if (call_expr_nargs (_p1) == 6)
   15632              :     {
   15633            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15634            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15635            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15636            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15637            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15638            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15639            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15640              :                 {
   15641            0 :                   {
   15642            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15643            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15644            0 :                     if (res) return res;
   15645              :                   }
   15646              :                 }
   15647              :             }
   15648              :           break;
   15649            0 :         case CFN_COND_LEN_MOD:
   15650            0 :           if (call_expr_nargs (_p1) == 6)
   15651              :     {
   15652            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15653            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15654            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15655            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15656            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15657            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15658            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15659              :                 {
   15660            0 :                   {
   15661            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15662            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15663            0 :                     if (res) return res;
   15664              :                   }
   15665              :                 }
   15666              :             }
   15667              :           break;
   15668            0 :         case CFN_COND_LEN_MUL:
   15669            0 :           if (call_expr_nargs (_p1) == 6)
   15670              :     {
   15671            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15672            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15673            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15674            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15675            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15676            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15677            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15678              :                 {
   15679            0 :                   {
   15680            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15681            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15682            0 :                     if (res) return res;
   15683              :                   }
   15684              :                 }
   15685              :             }
   15686              :           break;
   15687            0 :         case CFN_COND_LEN_SHL:
   15688            0 :           if (call_expr_nargs (_p1) == 6)
   15689              :     {
   15690            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15691            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15692            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15693            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15694            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15695            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15696            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15697              :                 {
   15698            0 :                   {
   15699            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15700            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15701            0 :                     if (res) return res;
   15702              :                   }
   15703              :                 }
   15704              :             }
   15705              :           break;
   15706            0 :         case CFN_COND_LEN_SHR:
   15707            0 :           if (call_expr_nargs (_p1) == 6)
   15708              :     {
   15709            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15710            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15711            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15712            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15713            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15714            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15715            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15716              :                 {
   15717            0 :                   {
   15718            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15719            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   15720            0 :                     if (res) return res;
   15721              :                   }
   15722              :                 }
   15723              :             }
   15724              :           break;
   15725            0 :         case CFN_COND_LEN_SUB:
   15726            0 :           if (call_expr_nargs (_p1) == 6)
   15727              :     {
   15728            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15729            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15730            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15731            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15732            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15733            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15734            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15735              :                 {
   15736            0 :                   {
   15737            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15738            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   15739            0 :                     if (res) return res;
   15740              :                   }
   15741              :                 }
   15742              :             }
   15743              :           break;
   15744            0 :         case CFN_COND_LEN_XOR:
   15745            0 :           if (call_expr_nargs (_p1) == 6)
   15746              :     {
   15747            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15748            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15749            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15750            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15751            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15752            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15753            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15754              :                 {
   15755            0 :                   {
   15756            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15757            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   15758            0 :                     if (res) return res;
   15759              :                   }
   15760              :                 }
   15761              :             }
   15762              :           break;
   15763            0 :         case CFN_COND_LEN_FMAX:
   15764            0 :           if (call_expr_nargs (_p1) == 6)
   15765              :     {
   15766            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15767            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15768            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15769            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15770            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15771            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15772            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15773              :                 {
   15774            0 :                   {
   15775            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15776            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   15777            0 :                     if (res) return res;
   15778              :                   }
   15779              :                 }
   15780              :             }
   15781              :           break;
   15782            0 :         case CFN_COND_LEN_FMIN:
   15783            0 :           if (call_expr_nargs (_p1) == 6)
   15784              :     {
   15785            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15786            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15787            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15788            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15789            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15790            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15791            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15792              :                 {
   15793            0 :                   {
   15794            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15795            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   15796            0 :                     if (res) return res;
   15797              :                   }
   15798              :                 }
   15799              :             }
   15800              :           break;
   15801            0 :         case CFN_COND_LEN_RDIV:
   15802            0 :           if (call_expr_nargs (_p1) == 6)
   15803              :     {
   15804            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15805            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15806            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15807            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15808            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15809            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15810            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15811              :                 {
   15812            0 :                   {
   15813            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15814            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   15815            0 :                     if (res) return res;
   15816              :                   }
   15817              :                 }
   15818              :             }
   15819              :           break;
   15820            0 :         case CFN_COND_LEN_COPYSIGN:
   15821            0 :           if (call_expr_nargs (_p1) == 6)
   15822              :     {
   15823            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15824            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15825            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15826            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15827            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15828            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   15829            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15830              :                 {
   15831            0 :                   {
   15832            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   15833            0 :                     tree res = generic_simplify_543 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   15834            0 :                     if (res) return res;
   15835              :                   }
   15836              :                 }
   15837              :             }
   15838              :           break;
   15839              :         default:;
   15840              :         }
   15841              :       break;
   15842       332775 :     default:;
   15843              :     }
   15844       332775 :   switch (TREE_CODE (_p2))
   15845              :     {
   15846            0 :     case VIEW_CONVERT_EXPR:
   15847            0 :       {
   15848            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15849            0 :         switch (TREE_CODE (_q40))
   15850              :           {
   15851            0 :           case CALL_EXPR:
   15852            0 :             switch (get_call_combined_fn (_q40))
   15853              :               {
   15854            0 :               case CFN_COND_LEN_ADD:
   15855            0 :                 if (call_expr_nargs (_q40) == 6)
   15856              :     {
   15857            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15858            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15859            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15860            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15861            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15862            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15863            0 :                     {
   15864            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15865            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   15866            0 :                       if (res) return res;
   15867              :                     }
   15868              :                   }
   15869              :                 break;
   15870            0 :               case CFN_COND_LEN_AND:
   15871            0 :                 if (call_expr_nargs (_q40) == 6)
   15872              :     {
   15873            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15874            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15875            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15876            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15877            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15878            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15879            0 :                     {
   15880            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15881            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   15882            0 :                       if (res) return res;
   15883              :                     }
   15884              :                   }
   15885              :                 break;
   15886            0 :               case CFN_COND_LEN_DIV:
   15887            0 :                 if (call_expr_nargs (_q40) == 6)
   15888              :     {
   15889            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15890            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15891            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15892            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15893            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15894            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15895            0 :                     {
   15896            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15897            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   15898            0 :                       if (res) return res;
   15899              :                     }
   15900              :                   }
   15901              :                 break;
   15902            0 :               case CFN_COND_LEN_IOR:
   15903            0 :                 if (call_expr_nargs (_q40) == 6)
   15904              :     {
   15905            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15906            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15907            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15908            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15909            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15910            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15911            0 :                     {
   15912            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15913            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   15914            0 :                       if (res) return res;
   15915              :                     }
   15916              :                   }
   15917              :                 break;
   15918            0 :               case CFN_COND_LEN_MAX:
   15919            0 :                 if (call_expr_nargs (_q40) == 6)
   15920              :     {
   15921            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15922            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15923            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15924            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15925            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15926            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15927            0 :                     {
   15928            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15929            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   15930            0 :                       if (res) return res;
   15931              :                     }
   15932              :                   }
   15933              :                 break;
   15934            0 :               case CFN_COND_LEN_MIN:
   15935            0 :                 if (call_expr_nargs (_q40) == 6)
   15936              :     {
   15937            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15938            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15939            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15940            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15941            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15942            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15943            0 :                     {
   15944            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15945            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   15946            0 :                       if (res) return res;
   15947              :                     }
   15948              :                   }
   15949              :                 break;
   15950            0 :               case CFN_COND_LEN_MOD:
   15951            0 :                 if (call_expr_nargs (_q40) == 6)
   15952              :     {
   15953            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15954            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15955            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15956            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15957            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15958            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15959            0 :                     {
   15960            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15961            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   15962            0 :                       if (res) return res;
   15963              :                     }
   15964              :                   }
   15965              :                 break;
   15966            0 :               case CFN_COND_LEN_MUL:
   15967            0 :                 if (call_expr_nargs (_q40) == 6)
   15968              :     {
   15969            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15970            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15971            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15972            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15973            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15974            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15975            0 :                     {
   15976            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15977            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   15978            0 :                       if (res) return res;
   15979              :                     }
   15980              :                   }
   15981              :                 break;
   15982            0 :               case CFN_COND_LEN_SHL:
   15983            0 :                 if (call_expr_nargs (_q40) == 6)
   15984              :     {
   15985            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15986            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15987            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15988            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15989            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15990            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   15991            0 :                     {
   15992            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   15993            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   15994            0 :                       if (res) return res;
   15995              :                     }
   15996              :                   }
   15997              :                 break;
   15998            0 :               case CFN_COND_LEN_SHR:
   15999            0 :                 if (call_expr_nargs (_q40) == 6)
   16000              :     {
   16001            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16002            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16003            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16004            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16005            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16006            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16007            0 :                     {
   16008            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16009            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16010            0 :                       if (res) return res;
   16011              :                     }
   16012              :                   }
   16013              :                 break;
   16014            0 :               case CFN_COND_LEN_SUB:
   16015            0 :                 if (call_expr_nargs (_q40) == 6)
   16016              :     {
   16017            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16018            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16019            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16020            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16021            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16022            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16023            0 :                     {
   16024            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16025            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16026            0 :                       if (res) return res;
   16027              :                     }
   16028              :                   }
   16029              :                 break;
   16030            0 :               case CFN_COND_LEN_XOR:
   16031            0 :                 if (call_expr_nargs (_q40) == 6)
   16032              :     {
   16033            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16034            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16035            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16036            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16037            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16038            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16039            0 :                     {
   16040            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16041            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16042            0 :                       if (res) return res;
   16043              :                     }
   16044              :                   }
   16045              :                 break;
   16046            0 :               case CFN_COND_LEN_FMAX:
   16047            0 :                 if (call_expr_nargs (_q40) == 6)
   16048              :     {
   16049            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16050            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16051            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16052            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16053            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16054            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16055            0 :                     {
   16056            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16057            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16058            0 :                       if (res) return res;
   16059              :                     }
   16060              :                   }
   16061              :                 break;
   16062            0 :               case CFN_COND_LEN_FMIN:
   16063            0 :                 if (call_expr_nargs (_q40) == 6)
   16064              :     {
   16065            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16066            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16067            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16068            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16069            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16070            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16071            0 :                     {
   16072            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16073            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16074            0 :                       if (res) return res;
   16075              :                     }
   16076              :                   }
   16077              :                 break;
   16078            0 :               case CFN_COND_LEN_RDIV:
   16079            0 :                 if (call_expr_nargs (_q40) == 6)
   16080              :     {
   16081            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16082            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16083            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16084            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16085            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16086            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16087            0 :                     {
   16088            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16089            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16090            0 :                       if (res) return res;
   16091              :                     }
   16092              :                   }
   16093              :                 break;
   16094            0 :               case CFN_COND_LEN_COPYSIGN:
   16095            0 :                 if (call_expr_nargs (_q40) == 6)
   16096              :     {
   16097            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16098            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16099            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16100            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16101            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16102            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16103            0 :                     {
   16104            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16105            0 :                       tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16106            0 :                       if (res) return res;
   16107              :                     }
   16108              :                   }
   16109              :                 break;
   16110              :               default:;
   16111              :               }
   16112              :             break;
   16113              :           default:;
   16114              :           }
   16115              :         break;
   16116              :       }
   16117           12 :     case CALL_EXPR:
   16118           12 :       switch (get_call_combined_fn (_p2))
   16119              :         {
   16120            0 :         case CFN_COND_LEN_ADD:
   16121            0 :           if (call_expr_nargs (_p2) == 6)
   16122              :     {
   16123            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16124            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16125            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16126            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16127            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16128            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16129            0 :               {
   16130            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16131            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16132            0 :                 if (res) return res;
   16133              :               }
   16134              :             }
   16135              :           break;
   16136            0 :         case CFN_COND_LEN_AND:
   16137            0 :           if (call_expr_nargs (_p2) == 6)
   16138              :     {
   16139            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16140            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16141            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16142            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16143            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16144            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16145            0 :               {
   16146            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16147            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16148            0 :                 if (res) return res;
   16149              :               }
   16150              :             }
   16151              :           break;
   16152            0 :         case CFN_COND_LEN_DIV:
   16153            0 :           if (call_expr_nargs (_p2) == 6)
   16154              :     {
   16155            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16156            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16157            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16158            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16159            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16160            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16161            0 :               {
   16162            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16163            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16164            0 :                 if (res) return res;
   16165              :               }
   16166              :             }
   16167              :           break;
   16168            0 :         case CFN_COND_LEN_IOR:
   16169            0 :           if (call_expr_nargs (_p2) == 6)
   16170              :     {
   16171            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16172            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16173            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16174            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16175            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16176            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16177            0 :               {
   16178            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16179            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16180            0 :                 if (res) return res;
   16181              :               }
   16182              :             }
   16183              :           break;
   16184            0 :         case CFN_COND_LEN_MAX:
   16185            0 :           if (call_expr_nargs (_p2) == 6)
   16186              :     {
   16187            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16188            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16189            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16190            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16191            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16192            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16193            0 :               {
   16194            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16195            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16196            0 :                 if (res) return res;
   16197              :               }
   16198              :             }
   16199              :           break;
   16200            0 :         case CFN_COND_LEN_MIN:
   16201            0 :           if (call_expr_nargs (_p2) == 6)
   16202              :     {
   16203            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16204            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16205            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16206            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16207            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16208            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16209            0 :               {
   16210            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16211            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16212            0 :                 if (res) return res;
   16213              :               }
   16214              :             }
   16215              :           break;
   16216            0 :         case CFN_COND_LEN_MOD:
   16217            0 :           if (call_expr_nargs (_p2) == 6)
   16218              :     {
   16219            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16220            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16221            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16222            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16223            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16224            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16225            0 :               {
   16226            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16227            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16228            0 :                 if (res) return res;
   16229              :               }
   16230              :             }
   16231              :           break;
   16232            0 :         case CFN_COND_LEN_MUL:
   16233            0 :           if (call_expr_nargs (_p2) == 6)
   16234              :     {
   16235            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16236            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16237            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16238            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16239            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16240            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16241            0 :               {
   16242            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16243            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16244            0 :                 if (res) return res;
   16245              :               }
   16246              :             }
   16247              :           break;
   16248            0 :         case CFN_COND_LEN_SHL:
   16249            0 :           if (call_expr_nargs (_p2) == 6)
   16250              :     {
   16251            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16252            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16253            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16254            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16255            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16256            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16257            0 :               {
   16258            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16259            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16260            0 :                 if (res) return res;
   16261              :               }
   16262              :             }
   16263              :           break;
   16264            0 :         case CFN_COND_LEN_SHR:
   16265            0 :           if (call_expr_nargs (_p2) == 6)
   16266              :     {
   16267            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16268            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16269            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16270            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16271            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16272            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16273            0 :               {
   16274            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16275            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16276            0 :                 if (res) return res;
   16277              :               }
   16278              :             }
   16279              :           break;
   16280            0 :         case CFN_COND_LEN_SUB:
   16281            0 :           if (call_expr_nargs (_p2) == 6)
   16282              :     {
   16283            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16284            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16285            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16286            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16287            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16288            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16289            0 :               {
   16290            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16291            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16292            0 :                 if (res) return res;
   16293              :               }
   16294              :             }
   16295              :           break;
   16296            0 :         case CFN_COND_LEN_XOR:
   16297            0 :           if (call_expr_nargs (_p2) == 6)
   16298              :     {
   16299            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16300            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16301            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16302            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16303            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16304            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16305            0 :               {
   16306            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16307            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16308            0 :                 if (res) return res;
   16309              :               }
   16310              :             }
   16311              :           break;
   16312            0 :         case CFN_COND_LEN_FMAX:
   16313            0 :           if (call_expr_nargs (_p2) == 6)
   16314              :     {
   16315            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16316            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16317            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16318            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16319            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16320            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16321            0 :               {
   16322            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16323            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16324            0 :                 if (res) return res;
   16325              :               }
   16326              :             }
   16327              :           break;
   16328            0 :         case CFN_COND_LEN_FMIN:
   16329            0 :           if (call_expr_nargs (_p2) == 6)
   16330              :     {
   16331            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16332            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16333            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16334            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16335            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16336            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16337            0 :               {
   16338            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16339            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16340            0 :                 if (res) return res;
   16341              :               }
   16342              :             }
   16343              :           break;
   16344            0 :         case CFN_COND_LEN_RDIV:
   16345            0 :           if (call_expr_nargs (_p2) == 6)
   16346              :     {
   16347            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16348            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16349            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16350            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16351            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16352            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16353            0 :               {
   16354            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16355            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16356            0 :                 if (res) return res;
   16357              :               }
   16358              :             }
   16359              :           break;
   16360            0 :         case CFN_COND_LEN_COPYSIGN:
   16361            0 :           if (call_expr_nargs (_p2) == 6)
   16362              :     {
   16363            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16364            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16365            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16366            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16367            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16368            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16369            0 :               {
   16370            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   16371            0 :                 tree res = generic_simplify_544 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16372            0 :                 if (res) return res;
   16373              :               }
   16374              :             }
   16375              :           break;
   16376              :         default:;
   16377              :         }
   16378              :       break;
   16379       332775 :     default:;
   16380              :     }
   16381       332775 :   switch (TREE_CODE (_p1))
   16382              :     {
   16383            0 :     case VIEW_CONVERT_EXPR:
   16384            0 :       {
   16385            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16386            0 :         switch (TREE_CODE (_q30))
   16387              :           {
   16388            0 :           case CALL_EXPR:
   16389            0 :             switch (get_call_combined_fn (_q30))
   16390              :               {
   16391            0 :               case CFN_COND_LEN_FMA:
   16392            0 :                 if (call_expr_nargs (_q30) == 7)
   16393              :     {
   16394            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16395            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16396            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16397            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16398            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16399            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16400            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16401            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16402              :                       {
   16403            0 :                         {
   16404            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16405            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16406            0 :                           if (res) return res;
   16407              :                         }
   16408              :                       }
   16409              :                   }
   16410              :                 break;
   16411            0 :               case CFN_COND_LEN_FMS:
   16412            0 :                 if (call_expr_nargs (_q30) == 7)
   16413              :     {
   16414            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16415            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16416            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16417            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16418            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16419            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16420            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16421            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16422              :                       {
   16423            0 :                         {
   16424            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16425            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16426            0 :                           if (res) return res;
   16427              :                         }
   16428              :                       }
   16429              :                   }
   16430              :                 break;
   16431            0 :               case CFN_COND_LEN_FNMA:
   16432            0 :                 if (call_expr_nargs (_q30) == 7)
   16433              :     {
   16434            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16435            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16436            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16437            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16438            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16439            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16440            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16441            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16442              :                       {
   16443            0 :                         {
   16444            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16445            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16446            0 :                           if (res) return res;
   16447              :                         }
   16448              :                       }
   16449              :                   }
   16450              :                 break;
   16451            0 :               case CFN_COND_LEN_FNMS:
   16452            0 :                 if (call_expr_nargs (_q30) == 7)
   16453              :     {
   16454            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16455            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16456            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16457            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16458            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16459            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16460            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   16461            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16462              :                       {
   16463            0 :                         {
   16464            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   16465            0 :                           tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16466            0 :                           if (res) return res;
   16467              :                         }
   16468              :                       }
   16469              :                   }
   16470              :                 break;
   16471              :               default:;
   16472              :               }
   16473              :             break;
   16474              :           default:;
   16475              :           }
   16476              :         break;
   16477              :       }
   16478           12 :     case CALL_EXPR:
   16479           12 :       switch (get_call_combined_fn (_p1))
   16480              :         {
   16481            0 :         case CFN_COND_LEN_FMA:
   16482            0 :           if (call_expr_nargs (_p1) == 7)
   16483              :     {
   16484            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16485            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16486            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16487            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16488            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16489            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16490            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16491            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16492              :                 {
   16493            0 :                   {
   16494            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16495            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16496            0 :                     if (res) return res;
   16497              :                   }
   16498              :                 }
   16499              :             }
   16500              :           break;
   16501            0 :         case CFN_COND_LEN_FMS:
   16502            0 :           if (call_expr_nargs (_p1) == 7)
   16503              :     {
   16504            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16505            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16506            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16507            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16508            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16509            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16510            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16511            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16512              :                 {
   16513            0 :                   {
   16514            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16515            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16516            0 :                     if (res) return res;
   16517              :                   }
   16518              :                 }
   16519              :             }
   16520              :           break;
   16521            0 :         case CFN_COND_LEN_FNMA:
   16522            0 :           if (call_expr_nargs (_p1) == 7)
   16523              :     {
   16524            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16525            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16526            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16527            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16528            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16529            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16530            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16531            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16532              :                 {
   16533            0 :                   {
   16534            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16535            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16536            0 :                     if (res) return res;
   16537              :                   }
   16538              :                 }
   16539              :             }
   16540              :           break;
   16541            0 :         case CFN_COND_LEN_FNMS:
   16542            0 :           if (call_expr_nargs (_p1) == 7)
   16543              :     {
   16544            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16545            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16546            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16547            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16548            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16549            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16550            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   16551            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16552              :                 {
   16553            0 :                   {
   16554            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   16555            0 :                     tree res = generic_simplify_545 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16556            0 :                     if (res) return res;
   16557              :                   }
   16558              :                 }
   16559              :             }
   16560              :           break;
   16561              :         default:;
   16562              :         }
   16563              :       break;
   16564       332775 :     default:;
   16565              :     }
   16566       332775 :   switch (TREE_CODE (_p2))
   16567              :     {
   16568            0 :     case VIEW_CONVERT_EXPR:
   16569            0 :       {
   16570            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16571            0 :         switch (TREE_CODE (_q40))
   16572              :           {
   16573            0 :           case CALL_EXPR:
   16574            0 :             switch (get_call_combined_fn (_q40))
   16575              :               {
   16576            0 :               case CFN_COND_LEN_FMA:
   16577            0 :                 if (call_expr_nargs (_q40) == 7)
   16578              :     {
   16579            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16580            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16581            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16582            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16583            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16584            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16585            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16586            0 :                     {
   16587            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16588            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16589            0 :                       if (res) return res;
   16590              :                     }
   16591              :                   }
   16592              :                 break;
   16593            0 :               case CFN_COND_LEN_FMS:
   16594            0 :                 if (call_expr_nargs (_q40) == 7)
   16595              :     {
   16596            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16597            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16598            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16599            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16600            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16601            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16602            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16603            0 :                     {
   16604            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16605            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16606            0 :                       if (res) return res;
   16607              :                     }
   16608              :                   }
   16609              :                 break;
   16610            0 :               case CFN_COND_LEN_FNMA:
   16611            0 :                 if (call_expr_nargs (_q40) == 7)
   16612              :     {
   16613            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16614            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16615            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16616            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16617            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16618            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16619            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16620            0 :                     {
   16621            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16622            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16623            0 :                       if (res) return res;
   16624              :                     }
   16625              :                   }
   16626              :                 break;
   16627            0 :               case CFN_COND_LEN_FNMS:
   16628            0 :                 if (call_expr_nargs (_q40) == 7)
   16629              :     {
   16630            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16631            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16632            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16633            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16634            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16635            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16636            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   16637            0 :                     {
   16638            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   16639            0 :                       tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16640            0 :                       if (res) return res;
   16641              :                     }
   16642              :                   }
   16643              :                 break;
   16644              :               default:;
   16645              :               }
   16646              :             break;
   16647              :           default:;
   16648              :           }
   16649              :         break;
   16650              :       }
   16651           12 :     case CALL_EXPR:
   16652           12 :       switch (get_call_combined_fn (_p2))
   16653              :         {
   16654            0 :         case CFN_COND_LEN_FMA:
   16655            0 :           if (call_expr_nargs (_p2) == 7)
   16656              :     {
   16657            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16658            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16659            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16660            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16661            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16662            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16663            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16664            0 :               {
   16665            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16666            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   16667            0 :                 if (res) return res;
   16668              :               }
   16669              :             }
   16670              :           break;
   16671            0 :         case CFN_COND_LEN_FMS:
   16672            0 :           if (call_expr_nargs (_p2) == 7)
   16673              :     {
   16674            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16675            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16676            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16677            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16678            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16679            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16680            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16681            0 :               {
   16682            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16683            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   16684            0 :                 if (res) return res;
   16685              :               }
   16686              :             }
   16687              :           break;
   16688            0 :         case CFN_COND_LEN_FNMA:
   16689            0 :           if (call_expr_nargs (_p2) == 7)
   16690              :     {
   16691            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16692            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16693            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16694            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16695            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16696            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16697            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16698            0 :               {
   16699            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16700            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   16701            0 :                 if (res) return res;
   16702              :               }
   16703              :             }
   16704              :           break;
   16705            0 :         case CFN_COND_LEN_FNMS:
   16706            0 :           if (call_expr_nargs (_p2) == 7)
   16707              :     {
   16708            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16709            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16710            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16711            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16712            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16713            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   16714            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   16715            0 :               {
   16716            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   16717            0 :                 tree res = generic_simplify_546 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   16718            0 :                 if (res) return res;
   16719              :               }
   16720              :             }
   16721              :           break;
   16722              :         default:;
   16723              :         }
   16724              :       break;
   16725       332775 :     default:;
   16726              :     }
   16727       332775 :   switch (TREE_CODE (_p1))
   16728              :     {
   16729           12 :     case CALL_EXPR:
   16730           12 :       switch (get_call_combined_fn (_p1))
   16731              :         {
   16732            0 :         case CFN_COND_ADD:
   16733            0 :           if (call_expr_nargs (_p1) == 4)
   16734              :     {
   16735            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16736            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16737            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16738            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16739            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16740              :                 {
   16741            0 :                   {
   16742            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16743            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   16744            0 :                     if (res) return res;
   16745              :                   }
   16746              :                 }
   16747              :             }
   16748              :           break;
   16749            0 :         case CFN_COND_AND:
   16750            0 :           if (call_expr_nargs (_p1) == 4)
   16751              :     {
   16752            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16753            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16754            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16755            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16756            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16757              :                 {
   16758            0 :                   {
   16759            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16760            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   16761            0 :                     if (res) return res;
   16762              :                   }
   16763              :                 }
   16764              :             }
   16765              :           break;
   16766            0 :         case CFN_COND_DIV:
   16767            0 :           if (call_expr_nargs (_p1) == 4)
   16768              :     {
   16769            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16770            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16771            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16772            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16773            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16774              :                 {
   16775            0 :                   {
   16776            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16777            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   16778            0 :                     if (res) return res;
   16779              :                   }
   16780              :                 }
   16781              :             }
   16782              :           break;
   16783            0 :         case CFN_COND_FMA:
   16784            0 :           if (call_expr_nargs (_p1) == 5)
   16785              :     {
   16786            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16787            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16788            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16789            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16790            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16791            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16792              :                 {
   16793            0 :                   {
   16794            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16795            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16796            0 :                     if (res) return res;
   16797              :                   }
   16798              :                 }
   16799              :             }
   16800              :           break;
   16801            0 :         case CFN_COND_FMS:
   16802            0 :           if (call_expr_nargs (_p1) == 5)
   16803              :     {
   16804            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16805            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16806            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16807            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16808            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16809            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   16810              :                 {
   16811            0 :                   {
   16812            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   16813            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16814            0 :                     if (res) return res;
   16815              :                   }
   16816              :                 }
   16817              :             }
   16818              :           break;
   16819            0 :         case CFN_COND_IOR:
   16820            0 :           if (call_expr_nargs (_p1) == 4)
   16821              :     {
   16822            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16823            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16824            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16825            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16826            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16827              :                 {
   16828            0 :                   {
   16829            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16830            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   16831            0 :                     if (res) return res;
   16832              :                   }
   16833              :                 }
   16834              :             }
   16835              :           break;
   16836            0 :         case CFN_COND_MAX:
   16837            0 :           if (call_expr_nargs (_p1) == 4)
   16838              :     {
   16839            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16840            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16841            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16842            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16843            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16844              :                 {
   16845            0 :                   {
   16846            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16847            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   16848            0 :                     if (res) return res;
   16849              :                   }
   16850              :                 }
   16851              :             }
   16852              :           break;
   16853            0 :         case CFN_COND_MIN:
   16854            0 :           if (call_expr_nargs (_p1) == 4)
   16855              :     {
   16856            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16857            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16858            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16859            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16860            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16861              :                 {
   16862            0 :                   {
   16863            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16864            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   16865            0 :                     if (res) return res;
   16866              :                   }
   16867              :                 }
   16868              :             }
   16869              :           break;
   16870            0 :         case CFN_COND_MOD:
   16871            0 :           if (call_expr_nargs (_p1) == 4)
   16872              :     {
   16873            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16874            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16875            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16876            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16877            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16878              :                 {
   16879            0 :                   {
   16880            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16881            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   16882            0 :                     if (res) return res;
   16883              :                   }
   16884              :                 }
   16885              :             }
   16886              :           break;
   16887            0 :         case CFN_COND_MUL:
   16888            0 :           if (call_expr_nargs (_p1) == 4)
   16889              :     {
   16890            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16891            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16892            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16893            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16894            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16895              :                 {
   16896            0 :                   {
   16897            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16898            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   16899            0 :                     if (res) return res;
   16900              :                   }
   16901              :                 }
   16902              :             }
   16903              :           break;
   16904            0 :         case CFN_COND_SHL:
   16905            0 :           if (call_expr_nargs (_p1) == 4)
   16906              :     {
   16907            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16908            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16909            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16910            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16911            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16912              :                 {
   16913            0 :                   {
   16914            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16915            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   16916            0 :                     if (res) return res;
   16917              :                   }
   16918              :                 }
   16919              :             }
   16920              :           break;
   16921            0 :         case CFN_COND_SHR:
   16922            0 :           if (call_expr_nargs (_p1) == 4)
   16923              :     {
   16924            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16925            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16926            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16927            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16928            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16929              :                 {
   16930            0 :                   {
   16931            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16932            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   16933            0 :                     if (res) return res;
   16934              :                   }
   16935              :                 }
   16936              :             }
   16937              :           break;
   16938            0 :         case CFN_COND_SUB:
   16939            0 :           if (call_expr_nargs (_p1) == 4)
   16940              :     {
   16941            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16942            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16943            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16944            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16945            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16946              :                 {
   16947            0 :                   {
   16948            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16949            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   16950            0 :                     if (res) return res;
   16951              :                   }
   16952              :                 }
   16953              :             }
   16954              :           break;
   16955            0 :         case CFN_COND_XOR:
   16956            0 :           if (call_expr_nargs (_p1) == 4)
   16957              :     {
   16958            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16959            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16960            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16961            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16962            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16963              :                 {
   16964            0 :                   {
   16965            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16966            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   16967            0 :                     if (res) return res;
   16968              :                   }
   16969              :                 }
   16970              :             }
   16971              :           break;
   16972            0 :         case CFN_COND_COPYSIGN:
   16973            0 :           if (call_expr_nargs (_p1) == 4)
   16974              :     {
   16975            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16976            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16977            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16978            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16979            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16980              :                 {
   16981            0 :                   {
   16982            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   16983            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   16984            0 :                     if (res) return res;
   16985              :                   }
   16986              :                 }
   16987              :             }
   16988              :           break;
   16989            0 :         case CFN_COND_FMAX:
   16990            0 :           if (call_expr_nargs (_p1) == 4)
   16991              :     {
   16992            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16993            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16994            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16995            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16996            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   16997              :                 {
   16998            0 :                   {
   16999            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17000            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   17001            0 :                     if (res) return res;
   17002              :                   }
   17003              :                 }
   17004              :             }
   17005              :           break;
   17006            0 :         case CFN_COND_FMIN:
   17007            0 :           if (call_expr_nargs (_p1) == 4)
   17008              :     {
   17009            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17010            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17011            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17012            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17013            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17014              :                 {
   17015            0 :                   {
   17016            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17017            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   17018            0 :                     if (res) return res;
   17019              :                   }
   17020              :                 }
   17021              :             }
   17022              :           break;
   17023            0 :         case CFN_COND_FNMA:
   17024            0 :           if (call_expr_nargs (_p1) == 5)
   17025              :     {
   17026            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17027            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17028            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17029            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17030            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17031            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17032              :                 {
   17033            0 :                   {
   17034            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17035            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   17036            0 :                     if (res) return res;
   17037              :                   }
   17038              :                 }
   17039              :             }
   17040              :           break;
   17041            0 :         case CFN_COND_FNMS:
   17042            0 :           if (call_expr_nargs (_p1) == 5)
   17043              :     {
   17044            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17045            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17046            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17047            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17048            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17049            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17050              :                 {
   17051            0 :                   {
   17052            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17053            0 :                     tree res = generic_simplify_548 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   17054            0 :                     if (res) return res;
   17055              :                   }
   17056              :                 }
   17057              :             }
   17058              :           break;
   17059            0 :         case CFN_COND_RDIV:
   17060            0 :           if (call_expr_nargs (_p1) == 4)
   17061              :     {
   17062            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17063            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17064            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17065            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17066            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17067              :                 {
   17068            0 :                   {
   17069            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17070            0 :                     tree res = generic_simplify_547 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   17071            0 :                     if (res) return res;
   17072              :                   }
   17073              :                 }
   17074              :             }
   17075              :           break;
   17076              :         default:;
   17077              :         }
   17078              :       break;
   17079              :     default:;
   17080              :     }
   17081              :   return NULL_TREE;
   17082              : }
   17083              : #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.