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.3 % 11260 4086
Test Date: 2026-08-01 15:33:25 Functions: 69.8 % 86 60
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    100218001 : tree_zero_one_valued_p (tree t)
      11              : {
      12    100218001 :   const tree type = TREE_TYPE (t);
      13    100218001 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
      14    100218001 :   if (TREE_SIDE_EFFECTS (t)) return false;
      15     94631871 :   {
      16     94631871 :     tree captures[1] ATTRIBUTE_UNUSED = { t };
      17    189263742 :     if (INTEGRAL_TYPE_P (type)
      18     68434398 :  && (TYPE_UNSIGNED (type)
      19     12345628 :  || TYPE_PRECISION (type) > 1)
      20    231500617 :  && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
      21              : )
      22              :       {
      23       481881 :         {
      24       481881 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
      25       481881 :           return true;
      26              :         }
      27              :       }
      28              :   }
      29     94149990 :   switch (TREE_CODE (t))
      30              :     {
      31       264399 :     case BIT_AND_EXPR:
      32       264399 :       {
      33       264399 :         tree _p0 = TREE_OPERAND (t, 0);
      34       264399 :         tree _p1 = TREE_OPERAND (t, 1);
      35       264399 :         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       264399 :         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     44873209 :     CASE_CONVERT:
      66     44873209 :       {
      67     44873209 :         tree _p0 = TREE_OPERAND (t, 0);
      68     44873209 :         {
      69     44873209 :           tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
      70     89739345 :           if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
      71     40278251 :  && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
      72     35649998 :  || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
      73     40278243 :  && INTEGRAL_TYPE_P (type)
      74     40278229 :  && (TYPE_UNSIGNED (type)
      75      1903966 :  || TYPE_PRECISION (type) > 1)
      76    130024647 :  && 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     94149990 :     default:;
      88              :     }
      89     94149990 : if (tree_truth_valued_p (t))
      90              :   {
      91       170184 :     {
      92       170184 :       tree captures[1] ATTRIBUTE_UNUSED = { t };
      93       170184 :       if (INTEGRAL_TYPE_P (type)
      94       170184 :  && (TYPE_UNSIGNED (type)
      95       170105 :  || TYPE_PRECISION (type) > 1)
      96              : )
      97              :         {
      98       170134 :           {
      99       170134 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
     100       170134 :             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 (bit_op))
     133              : {
     134            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     135            0 :   if (bit_op == BIT_AND_EXPR
     136              : )
     137              :     {
     138            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail81;
     139            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
     140            0 :       {
     141            0 :         tree _r;
     142            0 :         _r =  build_zero_cst (type);
     143            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 58, __FILE__, __LINE__, true);
     144            0 :         return _r;
     145              :       }
     146              : next_after_fail81:;
     147              :     }
     148              :   else
     149              :     {
     150            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail82;
     151            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
     152            0 :       {
     153            0 :         tree _r;
     154            0 :         _r =  build_minus_one_cst (type);
     155            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
     156            0 :         return _r;
     157              :       }
     158              : next_after_fail82:;
     159              :     }
     160              :   return NULL_TREE;
     161              : }
     162              : 
     163              : tree
     164            1 : generic_simplify_17 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     165              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     166              : {
     167            1 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     168            1 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail91;
     169            1 :   {
     170            1 :     tree res_op0;
     171            1 :     res_op0 = captures[1];
     172            1 :     tree res_op1;
     173            1 :     {
     174            1 :       tree _o1[1], _r1;
     175            1 :       _o1[0] = captures[2];
     176            1 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     177            1 :       res_op1 = _r1;
     178              :     }
     179            1 :     tree _r;
     180            1 :     _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
     181            1 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 66, __FILE__, __LINE__, true);
     182              :     return _r;
     183              :   }
     184            0 : next_after_fail91:;
     185            0 :   return NULL_TREE;
     186              : }
     187              : 
     188              : tree
     189          731 : generic_simplify_26 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     190              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     191              : {
     192          731 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     193          731 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
     194              : )
     195              :     {
     196          731 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail100;
     197          731 :       {
     198          731 :         tree res_op0;
     199          731 :         {
     200          731 :           tree _o1[2], _r1;
     201          731 :           {
     202          731 :             tree _o2[1], _r2;
     203          731 :             _o2[0] = captures[2];
     204          731 :             if (TREE_TYPE (_o2[0]) != type)
     205              :               {
     206            0 :                 _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
     207              :               }
     208              :             else
     209              :               _r2 = _o2[0];
     210          731 :             _o1[0] = _r2;
     211              :           }
     212          731 :           _o1[1] = captures[3];
     213          731 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     214          731 :           res_op0 = _r1;
     215              :         }
     216          731 :         tree _r;
     217          731 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     218          731 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 75, __FILE__, __LINE__, true);
     219          731 :         return _r;
     220              :       }
     221            0 : next_after_fail100:;
     222              :     }
     223              :   return NULL_TREE;
     224              : }
     225              : 
     226              : tree
     227           24 : generic_simplify_35 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     228              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     229              :  const enum tree_code ARG_UNUSED (op),
     230              :  const enum tree_code ARG_UNUSED (cmp),
     231              :  const enum tree_code ARG_UNUSED (icmp))
     232              : {
     233           24 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     234           24 :   if (invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
     235              : )
     236              :     {
     237           24 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail111;
     238           24 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail111;
     239           24 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail111;
     240           24 :       {
     241           24 :         tree res_op0;
     242           24 :         res_op0 = captures[1];
     243           24 :         tree res_op1;
     244           24 :         res_op1 = captures[4];
     245           24 :         tree res_op2;
     246           24 :         res_op2 = captures[7];
     247           24 :         tree _r;
     248           24 :         _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
     249           24 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
     250           24 :         return _r;
     251              :       }
     252              : next_after_fail111:;
     253              :     }
     254              :   return NULL_TREE;
     255              : }
     256              : 
     257              : tree
     258            0 : generic_simplify_42 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     259              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     260              :  const enum tree_code ARG_UNUSED (op))
     261              : {
     262            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     263            0 :   if (INTEGRAL_TYPE_P (type)
     264            0 :  && tree_int_cst_sgn (captures[5]) > 0
     265            0 :  && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[4])) == 0
     266              : )
     267              :     {
     268            0 :       {
     269            0 :  tree t = type;
     270            0 :  if (!TYPE_OVERFLOW_WRAPS (t))
     271            0 :  t = unsigned_type_for (t);
     272            0 :  wide_int wone = wi::one (TYPE_PRECISION (type));
     273            0 :  wide_int c = wi::add (wi::to_wide (captures[3]),
     274            0 :  wi::lshift (wone, wi::to_wide (captures[5])));
     275            0 :           if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail119;
     276            0 :           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail119;
     277            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail119;
     278            0 :           {
     279            0 :             tree res_op0;
     280            0 :             {
     281            0 :               tree _o1[2], _r1;
     282            0 :               {
     283            0 :                 tree _o2[1], _r2;
     284            0 :                 _o2[0] = captures[2];
     285            0 :                 if (TREE_TYPE (_o2[0]) != t)
     286              :                   {
     287            0 :                     _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
     288              :                   }
     289              :                 else
     290              :                   _r2 = _o2[0];
     291            0 :                 _o1[0] = _r2;
     292              :               }
     293            0 :               _o1[1] =  wide_int_to_tree (t, c);
     294            0 :               _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
     295            0 :               res_op0 = _r1;
     296              :             }
     297            0 :             tree _r;
     298            0 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     299            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 87, __FILE__, __LINE__, true);
     300            0 :             return _r;
     301              :           }
     302            0 : next_after_fail119:;
     303            0 :       }
     304              :     }
     305              :   return NULL_TREE;
     306              : }
     307              : 
     308              : tree
     309            0 : generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     310              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     311              : {
     312            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     313            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     314            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     315            0 :  && !TYPE_SATURATING (TREE_TYPE (captures[0]))
     316            0 :  && (
     317              : 
     318            0 :  || !TREE_SIDE_EFFECTS (captures[0]))
     319              : )
     320              :     {
     321            0 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail131;
     322            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail131;
     323            0 :       {
     324            0 :         tree res_op0;
     325            0 :         res_op0 = captures[0];
     326            0 :         tree _r;
     327            0 :         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     328            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 100, __FILE__, __LINE__, true);
     329            0 :         return _r;
     330              :       }
     331              : next_after_fail131:;
     332              :     }
     333              :   return NULL_TREE;
     334              : }
     335              : 
     336              : tree
     337        45787 : generic_simplify_60 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     338              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     339              : {
     340        45787 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     341        45787 :   if (!TYPE_SATURATING (type)
     342              : )
     343              :     {
     344        45787 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     345        91505 :  && !FIXED_POINT_TYPE_P (type)
     346              : )
     347              :         {
     348        45718 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail140;
     349        45718 :           {
     350        45718 :             tree res_op0;
     351        45718 :             res_op0 = captures[0];
     352        45718 :             tree _r;
     353        45718 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
     354        45718 :             if (TREE_SIDE_EFFECTS (captures[1]))
     355            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     356        45718 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 109, __FILE__, __LINE__, true);
     357        45718 :             return _r;
     358              :           }
     359            0 : next_after_fail140:;
     360              :         }
     361              :     }
     362              :   return NULL_TREE;
     363              : }
     364              : 
     365              : tree
     366            7 : generic_simplify_66 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     367              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     368              : {
     369            7 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     370            7 :   if (!TYPE_SATURATING (type)
     371              : )
     372              :     {
     373            7 :       if ((!FLOAT_TYPE_P (type) || flag_associative_math)
     374           14 :  && !FIXED_POINT_TYPE_P (type)
     375              : )
     376              :         {
     377            7 :           if (TYPE_OVERFLOW_UNDEFINED (type)
     378           14 :  && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
     379              : )
     380              :             {
     381            7 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail154;
     382            7 :               {
     383            7 :                 tree res_op0;
     384            7 :                 res_op0 = captures[2];
     385            7 :                 tree res_op1;
     386            7 :                 res_op1 = captures[1];
     387            7 :                 tree _r;
     388            7 :                 _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
     389            7 :                 if (TREE_SIDE_EFFECTS (captures[0]))
     390            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     391            7 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 123, __FILE__, __LINE__, true);
     392            7 :                 return _r;
     393              :               }
     394            0 : next_after_fail154:;
     395              :             }
     396              :         }
     397              :     }
     398              :   return NULL_TREE;
     399              : }
     400              : 
     401              : tree
     402            9 : generic_simplify_74 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     403              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     404              : {
     405            9 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     406            9 :   if (INTEGRAL_TYPE_P (type)
     407            9 :  && (
     408              : 
     409            9 :  || !TREE_SIDE_EFFECTS (captures[1]))
     410              : )
     411              :     {
     412            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail163;
     413            2 :       {
     414            2 :         tree res_op0;
     415            2 :         {
     416            2 :           tree _o1[1], _r1;
     417            2 :           _o1[0] = captures[2];
     418            2 :           if (TREE_TYPE (_o1[0]) != boolean_type_node)
     419              :             {
     420            2 :               _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
     421              :             }
     422              :           else
     423              :             _r1 = _o1[0];
     424            2 :           res_op0 = _r1;
     425              :         }
     426            2 :         tree res_op1;
     427            2 :         res_op1 = captures[1];
     428            2 :         tree res_op2;
     429            2 :         res_op2 = captures[0];
     430            2 :         tree _r;
     431            2 :         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
     432            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 132, __FILE__, __LINE__, true);
     433            2 :         return _r;
     434              :       }
     435            0 : next_after_fail163:;
     436              :     }
     437              :   return NULL_TREE;
     438              : }
     439              : 
     440              : tree
     441           56 : generic_simplify_78 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     442              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     443              :  const enum tree_code ARG_UNUSED (cmp),
     444              :  const enum tree_code ARG_UNUSED (icmp),
     445              :  const enum tree_code ARG_UNUSED (ncmp))
     446              : {
     447           56 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     448           56 :   if (TYPE_PRECISION (type) > 1
     449           56 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
     450              : )
     451              :     {
     452            0 :       {
     453            0 :  enum tree_code ic = invert_tree_comparison
     454            0 :  (cmp, HONOR_NANS (captures[1]));
     455            0 :  tree cmptype = TREE_TYPE (captures[0]);
     456            0 :           if (ic == icmp
     457              : )
     458              :             {
     459            0 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail167;
     460            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail167;
     461            0 :               {
     462            0 :                 tree res_op0;
     463            0 :                 {
     464            0 :                   tree _o1[1], _r1;
     465            0 :                   {
     466            0 :                     tree _o2[2], _r2;
     467            0 :                     _o2[0] = captures[1];
     468            0 :                     _o2[1] = captures[2];
     469            0 :                     _r2 = fold_build2_loc (loc, icmp, cmptype, _o2[0], _o2[1]);
     470            0 :                     _o1[0] = _r2;
     471              :                   }
     472            0 :                   if (TREE_TYPE (_o1[0]) != type)
     473              :                     {
     474            0 :                       _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     475              :                     }
     476              :                   else
     477              :                     _r1 = _o1[0];
     478            0 :                   res_op0 = _r1;
     479              :                 }
     480            0 :                 tree _r;
     481            0 :                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     482            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 136, __FILE__, __LINE__, true);
     483            0 :                 return _r;
     484              :               }
     485              : next_after_fail167:;
     486              :             }
     487              :           else
     488              :             {
     489            0 :               if (ic == ncmp
     490              : )
     491              :                 {
     492            0 :                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail168;
     493            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail168;
     494            0 :                   {
     495            0 :                     tree res_op0;
     496            0 :                     {
     497            0 :                       tree _o1[1], _r1;
     498            0 :                       {
     499            0 :                         tree _o2[2], _r2;
     500            0 :                         _o2[0] = captures[1];
     501            0 :                         _o2[1] = captures[2];
     502            0 :                         _r2 = fold_build2_loc (loc, ncmp, cmptype, _o2[0], _o2[1]);
     503            0 :                         _o1[0] = _r2;
     504              :                       }
     505            0 :                       if (TREE_TYPE (_o1[0]) != type)
     506              :                         {
     507            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
     508              :                         }
     509              :                       else
     510              :                         _r1 = _o1[0];
     511            0 :                       res_op0 = _r1;
     512              :                     }
     513            0 :                     tree _r;
     514            0 :                     _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     515            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 137, __FILE__, __LINE__, true);
     516            0 :                     return _r;
     517              :                   }
     518              : next_after_fail168:;
     519              :                 }
     520              :             }
     521              :       }
     522              :     }
     523              :   return NULL_TREE;
     524              : }
     525              : 
     526              : tree
     527         3043 : generic_simplify_97 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     528              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     529              : {
     530         3043 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     531         3043 :   if (!TYPE_SATURATING (type)
     532              : )
     533              :     {
     534         3043 :       if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
     535         3043 :  && !TYPE_OVERFLOW_SANITIZED (type)
     536              : )
     537              :         {
     538           13 :           {
     539           13 :  tree t1 = type;
     540           13 :  if (INTEGRAL_TYPE_P (type)
     541           21 :  && TYPE_OVERFLOW_WRAPS (type) != TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1])))
     542            8 :  t1 = TYPE_OVERFLOW_WRAPS (type) ? type : TREE_TYPE (captures[1]);
     543           13 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
     544           13 :               {
     545           13 :                 tree res_op0;
     546           13 :                 {
     547           13 :                   tree _o1[2], _r1;
     548           13 :                   {
     549           13 :                     tree _o2[1], _r2;
     550           13 :                     _o2[0] = captures[0];
     551           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     552              :                       {
     553            8 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     554              :                       }
     555              :                     else
     556              :                       _r2 = _o2[0];
     557           13 :                     _o1[0] = _r2;
     558              :                   }
     559           13 :                   {
     560           13 :                     tree _o2[1], _r2;
     561           13 :                     _o2[0] = captures[1];
     562           13 :                     if (TREE_TYPE (_o2[0]) != t1)
     563              :                       {
     564            0 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, t1, _o2[0]);
     565              :                       }
     566              :                     else
     567              :                       _r2 = _o2[0];
     568           13 :                     _o1[1] = _r2;
     569              :                   }
     570           13 :                   _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     571           13 :                   res_op0 = _r1;
     572              :                 }
     573           13 :                 tree _r;
     574           13 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     575           13 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 155, __FILE__, __LINE__, true);
     576           13 :                 return _r;
     577              :               }
     578            0 : next_after_fail187:;
     579              :           }
     580              :         }
     581              :     }
     582              :   return NULL_TREE;
     583              : }
     584              : 
     585              : tree
     586            0 : generic_simplify_109 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     587              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     588              : {
     589            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     590            0 :   if (VECTOR_TYPE_P (type)
     591            0 :  && known_eq (TYPE_VECTOR_SUBPARTS (type),
     592              :  TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
     593            0 :  && (TYPE_MODE (TREE_TYPE (type))
     594            0 :  == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
     595              : )
     596              :     {
     597            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail205;
     598            0 :       {
     599            0 :         tree res_op0;
     600            0 :         res_op0 = captures[0];
     601            0 :         tree res_op1;
     602            0 :         {
     603            0 :           tree _o1[1], _r1;
     604            0 :           {
     605            0 :             tree _o2[3], _r2;
     606            0 :             _o2[0] = captures[2];
     607            0 :             {
     608            0 :               tree _o3[1], _r3;
     609            0 :               _o3[0] = captures[3];
     610            0 :               _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
     611            0 :               _o2[1] = _r3;
     612              :             }
     613            0 :             _o2[2] = captures[4];
     614            0 :             _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
     615            0 :             _o1[0] = _r2;
     616              :           }
     617            0 :           if (TREE_TYPE (_o1[0]) != type)
     618              :             {
     619            0 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
     620              :             }
     621              :           else
     622              :             _r1 = _o1[0];
     623            0 :           res_op1 = _r1;
     624              :         }
     625            0 :         tree _r;
     626            0 :         _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
     627            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 173, __FILE__, __LINE__, true);
     628            0 :         return _r;
     629              :       }
     630            0 : next_after_fail205:;
     631              :     }
     632              :   return NULL_TREE;
     633              : }
     634              : 
     635              : tree
     636           36 : generic_simplify_115 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     637              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     638              :  const enum tree_code ARG_UNUSED (bitop),
     639              :  const enum tree_code ARG_UNUSED (cmp))
     640              : {
     641           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     642           72 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     643           36 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
     644           72 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
     645              : )
     646              :     {
     647           36 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail213;
     648           36 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
     649           36 :       {
     650           36 :         tree res_op0;
     651           36 :         {
     652           36 :           tree _o1[2], _r1;
     653           36 :           _o1[0] = captures[0];
     654           36 :           {
     655           36 :             tree _o2[1], _r2;
     656           36 :             _o2[0] = captures[2];
     657           36 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     658              :               {
     659            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     660              :               }
     661              :             else
     662              :               _r2 = _o2[0];
     663           36 :             _o1[1] = _r2;
     664              :           }
     665           36 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     666           36 :           res_op0 = _r1;
     667              :         }
     668           36 :         tree res_op1;
     669           36 :         res_op1 = captures[1];
     670           36 :         tree _r;
     671           36 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
     672           36 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 179, __FILE__, __LINE__, true);
     673           36 :         return _r;
     674              :       }
     675              : next_after_fail213:;
     676              :     }
     677              :   return NULL_TREE;
     678              : }
     679              : 
     680              : tree
     681            0 : generic_simplify_126 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     682              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     683              : {
     684            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     685            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail224;
     686            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail224;
     687            0 :   {
     688            0 :     tree _r;
     689            0 :     _r = captures[2];
     690            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 188, __FILE__, __LINE__, true);
     691              :     return _r;
     692              :   }
     693              : next_after_fail224:;
     694              :   return NULL_TREE;
     695              : }
     696              : 
     697              : tree
     698           93 : generic_simplify_136 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     699              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     700              :  const enum tree_code ARG_UNUSED (op),
     701              :  const enum tree_code ARG_UNUSED (rop))
     702              : {
     703           93 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     704           93 :   if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
     705           93 :  && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
     706              : )
     707              :     {
     708           61 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail234;
     709           61 :       {
     710           61 :         tree res_op0;
     711           61 :         {
     712           61 :           tree _o1[2], _r1;
     713           61 :           {
     714           61 :             tree _o2[1], _r2;
     715           61 :             _o2[0] = captures[0];
     716           61 :             if (TREE_TYPE (_o2[0]) != type)
     717              :               {
     718            1 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     719              :               }
     720              :             else
     721              :               _r2 = _o2[0];
     722           61 :             _o1[0] = _r2;
     723              :           }
     724           61 :           {
     725           61 :             tree _o2[1], _r2;
     726           61 :             _o2[0] = captures[1];
     727           61 :             if (TREE_TYPE (_o2[0]) != type)
     728              :               {
     729            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
     730              :               }
     731              :             else
     732              :               _r2 = _o2[0];
     733           61 :             _o1[1] = _r2;
     734              :           }
     735           61 :           _r1 = fold_build2_loc (loc, rop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     736           61 :           res_op0 = _r1;
     737              :         }
     738           61 :         tree _r;
     739           61 :         _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
     740           61 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
     741           61 :         return _r;
     742              :       }
     743            0 : next_after_fail234:;
     744              :     }
     745              :   return NULL_TREE;
     746              : }
     747              : 
     748              : tree
     749           82 : generic_simplify_150 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     750              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     751              :  const enum tree_code ARG_UNUSED (op))
     752              : {
     753           82 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     754           82 :   if (bitwise_equal_p (captures[4], captures[7])
     755              : )
     756              :     {
     757           16 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail253;
     758           16 :       {
     759           16 :         tree res_op0;
     760           16 :         {
     761           16 :           tree _o1[2], _r1;
     762           16 :           {
     763           16 :             tree _o2[2], _r2;
     764           16 :             _o2[0] = captures[5];
     765           16 :             {
     766           16 :               tree _o3[1], _r3;
     767           16 :               _o3[0] = captures[6];
     768           16 :               if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
     769              :                 {
     770           16 :                   _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
     771              :                 }
     772              :               else
     773              :                 _r3 = _o3[0];
     774           16 :               _o2[1] = _r3;
     775              :             }
     776           16 :             _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
     777           16 :             _o1[0] = _r2;
     778              :           }
     779           16 :           {
     780           16 :             tree _o2[1], _r2;
     781           16 :             _o2[0] = captures[4];
     782           16 :             if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
     783              :               {
     784            0 :                 _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
     785              :               }
     786              :             else
     787              :               _r2 = _o2[0];
     788           16 :             _o1[1] = _r2;
     789              :           }
     790           16 :           _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     791           16 :           res_op0 = _r1;
     792              :         }
     793           16 :         tree _r;
     794           16 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
     795           16 :         if (TREE_SIDE_EFFECTS (captures[7]))
     796            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
     797           16 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 204, __FILE__, __LINE__, true);
     798           16 :         return _r;
     799              :       }
     800            0 : next_after_fail253:;
     801              :     }
     802              :   return NULL_TREE;
     803              : }
     804              : 
     805              : tree
     806           36 : generic_simplify_162 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     807              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     808              :  const enum tree_code ARG_UNUSED (rcmp),
     809              :  const enum tree_code ARG_UNUSED (cmp2),
     810              :  const enum tree_code ARG_UNUSED (cmp1),
     811              :  const enum tree_code ARG_UNUSED (bitop))
     812              : {
     813           36 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     814           36 :   {
     815           36 :  tree_code rescode;
     816           36 :  tree res;
     817           36 :  bool honor_nans = HONOR_NANS (captures[0]);
     818           36 :  rescode = combine_comparisons (bitop, cmp1, cmp2,
     819              :  type, honor_nans, &res);
     820           36 :       if (rescode == INTEGER_CST
     821              : )
     822              :         {
     823            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail280;
     824            0 :           {
     825            0 :             tree _r;
     826            0 :             _r =  res;
     827            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
     828            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
     829            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
     830            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     831            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 221, __FILE__, __LINE__, true);
     832           18 :             return _r;
     833              :           }
     834            0 : next_after_fail280:;
     835              :         }
     836              :       else
     837              :         {
     838           36 :           if (rescode == rcmp
     839              : )
     840              :             {
     841           18 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail281;
     842           18 :               {
     843           18 :                 tree res_op0;
     844           18 :                 res_op0 = captures[0];
     845           18 :                 tree res_op1;
     846           18 :                 res_op1 = captures[1];
     847           18 :                 tree _r;
     848           18 :                 _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
     849           18 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 222, __FILE__, __LINE__, true);
     850           18 :                 return _r;
     851              :               }
     852            0 : next_after_fail281:;
     853              :             }
     854              :         }
     855              :   }
     856           18 :   return NULL_TREE;
     857              : }
     858              : 
     859              : tree
     860            4 : generic_simplify_174 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     861              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     862              : {
     863            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     864            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail312;
     865            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail312;
     866            4 :   {
     867            4 :     tree _r;
     868            4 :     _r =  constant_boolean_node (true, type);
     869            4 :     if (TREE_SIDE_EFFECTS (captures[1]))
     870            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
     871            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 232, __FILE__, __LINE__, true);
     872              :     return _r;
     873              :   }
     874              : next_after_fail312:;
     875              :   return NULL_TREE;
     876              : }
     877              : 
     878              : tree
     879            4 : generic_simplify_176 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     880              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     881              : {
     882            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     883            4 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail315;
     884            4 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail315;
     885            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail315;
     886            4 :   {
     887            4 :     tree _r;
     888            4 :     _r = captures[0];
     889            4 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 235, __FILE__, __LINE__, true);
     890              :     return _r;
     891              :   }
     892              : next_after_fail315:;
     893              :   return NULL_TREE;
     894              : }
     895              : 
     896              : tree
     897           94 : generic_simplify_180 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     898              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     899              :  const enum tree_code ARG_UNUSED (logic),
     900              :  const enum tree_code ARG_UNUSED (op),
     901              :  const enum tree_code ARG_UNUSED (ext))
     902              : {
     903           94 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     904          188 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
     905          188 :  && TREE_CODE (captures[1]) != INTEGER_CST
     906              : )
     907              :     {
     908            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail319;
     909            0 :       {
     910            0 :         tree res_op0;
     911            0 :         res_op0 = captures[1];
     912            0 :         tree res_op1;
     913            0 :         {
     914            0 :           tree _o1[2], _r1;
     915            0 :           _o1[0] = captures[2];
     916            0 :           _o1[1] = captures[4];
     917            0 :           _r1 = fold_build2_loc (loc, ext, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
     918            0 :           res_op1 = _r1;
     919              :         }
     920            0 :         tree _r;
     921            0 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
     922            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 237, __FILE__, __LINE__, true);
     923            0 :         return _r;
     924              :       }
     925            0 : next_after_fail319:;
     926              :     }
     927              :   return NULL_TREE;
     928              : }
     929              : 
     930              : tree
     931            0 : generic_simplify_185 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     932              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
     933              :  const combined_fn ARG_UNUSED (COPYSIGN_ALL))
     934              : {
     935            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     936            0 :   if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
     937              : )
     938              :     {
     939            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail324;
     940            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail324;
     941            0 :       {
     942            0 :         tree res_op0;
     943            0 :         {
     944            0 :           tree _o1[1], _r1;
     945            0 :           _o1[0] = captures[0];
     946            0 :           _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
     947            0 :           res_op0 = _r1;
     948              :         }
     949            0 :         tree _r;
     950            0 :         _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
     951            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 241, __FILE__, __LINE__, true);
     952            0 :         return _r;
     953              :       }
     954              : next_after_fail324:;
     955              :     }
     956              :   return NULL_TREE;
     957              : }
     958              : 
     959              : tree
     960            6 : generic_simplify_191 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
     961              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
     962              : {
     963            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
     964            6 :   if (INTEGRAL_TYPE_P (type)
     965            6 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
     966           12 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
     967              : )
     968              :     {
     969            6 :       if (TYPE_UNSIGNED (type)
     970              : )
     971              :         {
     972            5 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail330;
     973            5 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
     974            5 :           {
     975            5 :             tree res_op0;
     976            5 :             res_op0 = captures[0];
     977            5 :             tree _r;
     978            5 :             _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
     979            5 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 246, __FILE__, __LINE__, true);
     980            5 :             return _r;
     981              :           }
     982              : next_after_fail330:;
     983              :         }
     984              :       else
     985              :         {
     986            1 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail331;
     987            1 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail331;
     988            1 :           {
     989            1 :             tree res_op0;
     990            1 :             res_op0 = captures[0];
     991            1 :             tree _r;
     992            1 :             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
     993            1 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 247, __FILE__, __LINE__, true);
     994            1 :             return _r;
     995              :           }
     996              : next_after_fail331:;
     997              :         }
     998              :     }
     999              :   return NULL_TREE;
    1000              : }
    1001              : 
    1002              : tree
    1003           14 : generic_simplify_197 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1004              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    1005              : {
    1006           14 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1007           14 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    1008           14 :  && wi::ltu_p (wi::to_widest (captures[1]), TYPE_PRECISION (type))
    1009              : )
    1010              :     {
    1011           14 :       {
    1012           14 :  unsigned int shift = tree_to_uhwi (captures[1]);
    1013           14 :  unsigned int prec = TYPE_PRECISION (type);
    1014           14 :           if ((prec <= TYPE_PRECISION (TREE_TYPE (captures[2])) + shift
    1015            0 :  || tree_int_cst_sgn (captures[2]) >= 0)
    1016           28 :  && wi::to_wide (captures[3]) == wi::set_bit_in_zero (shift, prec)
    1017              : )
    1018              :             {
    1019            6 :               {
    1020            6 :  auto mask = wide_int::from (wi::to_wide (captures[2]), prec, UNSIGNED);
    1021            6 :                   if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail338;
    1022            6 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail338;
    1023            6 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail338;
    1024            6 :                   {
    1025            6 :                     tree res_op0;
    1026            6 :                     {
    1027            6 :                       tree _o1[1], _r1;
    1028            6 :                       _o1[0] = captures[0];
    1029            6 :                       if (TREE_TYPE (_o1[0]) != type)
    1030              :                         {
    1031            0 :                           _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    1032              :                         }
    1033              :                       else
    1034              :                         _r1 = _o1[0];
    1035            6 :                       res_op0 = _r1;
    1036              :                     }
    1037            6 :                     tree res_op1;
    1038            6 :                     res_op1 =  wide_int_to_tree (type, mask << shift);
    1039            6 :                     tree _r;
    1040            6 :                     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    1041            6 :                     if (TREE_SIDE_EFFECTS (captures[3]))
    1042            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1043            6 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 251, __FILE__, __LINE__, true);
    1044            6 :                     return _r;
    1045              :                   }
    1046            0 : next_after_fail338:;
    1047            6 :               }
    1048              :             }
    1049              :       }
    1050              :     }
    1051              :   return NULL_TREE;
    1052              : }
    1053              : 
    1054              : tree
    1055          189 : generic_simplify_209 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1056              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1057              :  const enum tree_code ARG_UNUSED (cmp))
    1058              : {
    1059          189 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1060          378 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1061          356 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
    1062              : )
    1063              :     {
    1064            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail351;
    1065            3 :       {
    1066            3 :         tree res_op0;
    1067            3 :         res_op0 = captures[0];
    1068            3 :         tree res_op1;
    1069            3 :         res_op1 =  build_zero_cst (TREE_TYPE(captures[0]));
    1070            3 :         tree _r;
    1071            3 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1072            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 264, __FILE__, __LINE__, true);
    1073            3 :         return _r;
    1074              :       }
    1075            0 : next_after_fail351:;
    1076              :     }
    1077              :   return NULL_TREE;
    1078              : }
    1079              : 
    1080              : tree
    1081           33 : generic_simplify_218 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1082              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1083              :  const enum tree_code ARG_UNUSED (cmp),
    1084              :  const enum tree_code ARG_UNUSED (icmp))
    1085              : {
    1086           33 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1087           66 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1088           29 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1089           13 :  && type_has_mode_precision_p (TREE_TYPE (captures[0]))
    1090           13 :  && types_match (captures[0], captures[2])
    1091           13 :  && tree_fits_shwi_p (captures[1])
    1092           13 :  && tree_to_shwi (captures[1]) > 0
    1093           46 :  && tree_to_shwi (captures[1]) < TYPE_PRECISION (TREE_TYPE (captures[0]))
    1094              : )
    1095              :     {
    1096           13 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail364;
    1097           13 :       {
    1098           13 :         tree res_op0;
    1099           13 :         {
    1100           13 :           tree _o1[2], _r1;
    1101           13 :           _o1[0] = captures[0];
    1102           13 :           _o1[1] = captures[2];
    1103           13 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1104           13 :           res_op0 = _r1;
    1105              :         }
    1106           13 :         tree res_op1;
    1107           13 :         {
    1108           13 :           tree _o1[2], _r1;
    1109           13 :           _o1[0] =  build_one_cst (TREE_TYPE (captures[0]));
    1110           13 :           _o1[1] = captures[1];
    1111           13 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1112           13 :           res_op1 = _r1;
    1113              :         }
    1114           13 :         tree _r;
    1115           13 :         _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1116           13 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 276, __FILE__, __LINE__, true);
    1117           13 :         return _r;
    1118              :       }
    1119            0 : next_after_fail364:;
    1120              :     }
    1121              :   return NULL_TREE;
    1122              : }
    1123              : 
    1124              : tree
    1125           43 : generic_simplify_226 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1126              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1127              :  const enum tree_code ARG_UNUSED (op))
    1128              : {
    1129           43 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1130           43 :   if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
    1131              : )
    1132              :     {
    1133           43 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail385;
    1134           43 :       {
    1135           43 :         tree res_op0;
    1136           43 :         res_op0 = captures[1];
    1137           43 :         tree res_op1;
    1138           43 :         res_op1 = captures[3];
    1139           43 :         tree _r;
    1140           43 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    1141           43 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1142            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1143           43 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 297, __FILE__, __LINE__, true);
    1144           43 :         return _r;
    1145              :       }
    1146            0 : next_after_fail385:;
    1147              :     }
    1148              :   return NULL_TREE;
    1149              : }
    1150              : 
    1151              : tree
    1152            0 : generic_simplify_234 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1153              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1154              :  const enum tree_code ARG_UNUSED (cmp1),
    1155              :  const enum tree_code ARG_UNUSED (cmp2),
    1156              :  const enum tree_code ARG_UNUSED (rcmp))
    1157              : {
    1158            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1159            0 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1160            0 :  || POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1161            0 :  || ((VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[1]))
    1162            0 :  || VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (captures[1])))
    1163            0 :  && expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, rcmp))
    1164              : )
    1165              :     {
    1166            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail393;
    1167            0 :       {
    1168            0 :         tree res_op0;
    1169            0 :         res_op0 = captures[0];
    1170            0 :         tree res_op1;
    1171            0 :         res_op1 = captures[1];
    1172            0 :         tree _r;
    1173            0 :         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1174            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 304, __FILE__, __LINE__, true);
    1175            0 :         return _r;
    1176              :       }
    1177            0 : next_after_fail393:;
    1178              :     }
    1179              :   return NULL_TREE;
    1180              : }
    1181              : 
    1182              : tree
    1183           10 : generic_simplify_242 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1184              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1185              :  const enum tree_code ARG_UNUSED (cmp),
    1186              :  const enum tree_code ARG_UNUSED (icmp))
    1187              : {
    1188           10 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1189           10 :   if (tree_int_cst_sgn (captures[0]) > 0
    1190              : )
    1191              :     {
    1192           10 :       {
    1193           10 :  int c1 = wi::clz (wi::to_wide (captures[0]));
    1194           10 :  int c2 = wi::clz (wi::to_wide (captures[2]));
    1195           10 :           if (c1 > c2
    1196           20 :  || !wi::fits_to_tree_p (wi::shwi (c2 - c1, HOST_BITS_PER_INT),
    1197           10 :  TREE_TYPE (captures[1]))
    1198              : )
    1199              :             {
    1200            8 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail405;
    1201            8 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail405;
    1202            8 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail405;
    1203            8 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
    1204            8 :               {
    1205            8 :                 tree _r;
    1206            8 :                 _r =  constant_boolean_node (cmp != NE_EXPR, type);
    1207            8 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    1208            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1209            8 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 316, __FILE__, __LINE__, true);
    1210            8 :                 return _r;
    1211              :               }
    1212              : next_after_fail405:;
    1213              :             }
    1214              :           else
    1215              :             {
    1216            2 :               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail406;
    1217            2 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail406;
    1218            2 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail406;
    1219            2 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
    1220            2 :               {
    1221            2 :                 tree res_op0;
    1222            2 :                 res_op0 = captures[1];
    1223            2 :                 tree res_op1;
    1224            2 :                 res_op1 =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
    1225            2 :                 tree _r;
    1226            2 :                 _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
    1227            2 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 317, __FILE__, __LINE__, true);
    1228            2 :                 return _r;
    1229              :               }
    1230              : next_after_fail406:;
    1231              :             }
    1232              :       }
    1233              :     }
    1234              :   return NULL_TREE;
    1235              : }
    1236              : 
    1237              : tree
    1238          179 : generic_simplify_251 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1239              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1240              :  const enum tree_code ARG_UNUSED (cmp),
    1241              :  const enum tree_code ARG_UNUSED (icmp),
    1242              :  const enum tree_code ARG_UNUSED (ncmp))
    1243              : {
    1244          179 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1245          179 :   if (types_match (type, TREE_TYPE (captures[0]))
    1246              : )
    1247              :     {
    1248          125 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail422;
    1249          125 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail422;
    1250          125 :       {
    1251          125 :         tree res_op0;
    1252          125 :         res_op0 = captures[1];
    1253          125 :         tree res_op1;
    1254          125 :         res_op1 = captures[2];
    1255          125 :         tree _r;
    1256          125 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1257          125 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 333, __FILE__, __LINE__, true);
    1258          125 :         return _r;
    1259              :       }
    1260              : next_after_fail422:;
    1261              :     }
    1262              :   return NULL_TREE;
    1263              : }
    1264              : 
    1265              : tree
    1266       804329 : generic_simplify_260 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1267              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1268              :  const enum tree_code ARG_UNUSED (cmp),
    1269              :  const enum tree_code ARG_UNUSED (scmp))
    1270              : {
    1271       804329 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1272       804329 :   if (single_use (captures[0])
    1273       804329 :  && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
    1274              : )
    1275              :     {
    1276       804329 :       {
    1277       804329 :  tree otype = TREE_TYPE (captures[2]);
    1278       804329 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail437;
    1279       804329 :           {
    1280       804329 :             tree res_op0;
    1281       804329 :             {
    1282       804329 :               tree _o1[1], _r1;
    1283       804329 :               _o1[0] = captures[1];
    1284       804329 :               if (TREE_TYPE (_o1[0]) != otype)
    1285              :                 {
    1286          441 :                   _r1 = fold_build1_loc (loc, NOP_EXPR, otype, _o1[0]);
    1287              :                 }
    1288              :               else
    1289              :                 _r1 = _o1[0];
    1290       804329 :               res_op0 = _r1;
    1291              :             }
    1292       804329 :             tree res_op1;
    1293       804329 :             {
    1294       804329 :               tree _o1[1], _r1;
    1295       804329 :               _o1[0] = captures[2];
    1296       804329 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1297       804329 :               res_op1 = _r1;
    1298              :             }
    1299       804329 :             tree _r;
    1300       804329 :             _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1301       804329 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 347, __FILE__, __LINE__, true);
    1302       804329 :             return _r;
    1303              :           }
    1304            0 : next_after_fail437:;
    1305              :       }
    1306              :     }
    1307              :   return NULL_TREE;
    1308              : }
    1309              : 
    1310              : tree
    1311            6 : generic_simplify_266 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1312              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1313              :  const combined_fn ARG_UNUSED (sq),
    1314              :  const enum tree_code ARG_UNUSED (cmp))
    1315              : {
    1316            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1317            6 :   if (flag_unsafe_math_optimizations && ! flag_errno_math
    1318              : )
    1319              :     {
    1320            0 :       if (! HONOR_NANS (captures[0])
    1321              : )
    1322              :         {
    1323            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail475;
    1324            0 :           {
    1325            0 :             tree res_op0;
    1326            0 :             res_op0 = captures[0];
    1327            0 :             tree res_op1;
    1328            0 :             res_op1 = captures[1];
    1329            0 :             tree _r;
    1330            0 :             _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1331            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 384, __FILE__, __LINE__, true);
    1332            0 :             return _r;
    1333              :           }
    1334            0 : next_after_fail475:;
    1335              :         }
    1336              :     }
    1337              :   return NULL_TREE;
    1338              : }
    1339              : 
    1340              : tree
    1341         2599 : generic_simplify_271 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1342              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1343              :  const enum tree_code ARG_UNUSED (cmp),
    1344              :  const enum tree_code ARG_UNUSED (scmp))
    1345              : {
    1346         2599 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1347         4828 :   if (FLOAT_TYPE_P (TREE_TYPE (captures[0]))
    1348         4828 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1349         2229 :  && (cmp == EQ_EXPR
    1350         2229 :  || cmp == NE_EXPR
    1351         1454 :  || TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))))
    1352              : )
    1353              :     {
    1354         1449 :       {
    1355         1449 :  tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
    1356         1449 :           if (tem && !TREE_OVERFLOW (tem)
    1357              : )
    1358              :             {
    1359         1421 :               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail489;
    1360         1421 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail489;
    1361         1421 :               {
    1362         1421 :                 tree res_op0;
    1363         1421 :                 res_op0 = captures[0];
    1364         1421 :                 tree res_op1;
    1365         1421 :                 res_op1 =  tem;
    1366         1421 :                 tree _r;
    1367         1421 :                 _r = fold_build2_loc (loc, scmp, type, res_op0, res_op1);
    1368         1421 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
    1369         1421 :                 return _r;
    1370              :               }
    1371              : next_after_fail489:;
    1372              :             }
    1373              :       }
    1374              :     }
    1375              :   return NULL_TREE;
    1376              : }
    1377              : 
    1378              : tree
    1379          705 : generic_simplify_274 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1380              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1381              :  const enum tree_code ARG_UNUSED (cmp))
    1382              : {
    1383          705 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1384          705 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    1385         1410 :  && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
    1386              : )
    1387              :     {
    1388            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail506;
    1389            0 :       {
    1390            0 :         tree _r;
    1391            0 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1392            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1393            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1394            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    1395            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    1396            0 :         if (TREE_SIDE_EFFECTS (captures[3]))
    1397            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
    1398            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
    1399            0 :         return _r;
    1400              :       }
    1401            0 : next_after_fail506:;
    1402              :     }
    1403              :   return NULL_TREE;
    1404              : }
    1405              : 
    1406              : tree
    1407        26801 : generic_simplify_276 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1408              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1409              :  const enum tree_code ARG_UNUSED (cmp))
    1410              : {
    1411        26801 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1412        26801 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail511;
    1413        26801 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail511;
    1414        26801 :   {
    1415        26801 :     tree res_op0;
    1416        26801 :     res_op0 = captures[0];
    1417        26801 :     tree res_op1;
    1418        26801 :     res_op1 = captures[1];
    1419        26801 :     tree _r;
    1420        26801 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1421        26801 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 412, __FILE__, __LINE__, true);
    1422              :     return _r;
    1423              :   }
    1424              : next_after_fail511:;
    1425              :   return NULL_TREE;
    1426              : }
    1427              : 
    1428              : tree
    1429       149451 : generic_simplify_278 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1430              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1431              :  const enum tree_code ARG_UNUSED (cmp))
    1432              : {
    1433       149451 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1434       149451 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail513;
    1435       149451 :   {
    1436       149451 :     tree res_op0;
    1437       149451 :     {
    1438       149451 :       tree _o1[2], _r1;
    1439       149451 :       _o1[0] = captures[0];
    1440       149451 :       {
    1441       149451 :         tree _o2[1], _r2;
    1442       149451 :         _o2[0] = captures[1];
    1443       149451 :         _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    1444       149451 :         if (EXPR_P (_r2))
    1445       149422 :           goto next_after_fail513;
    1446           29 :         _o1[1] = _r2;
    1447              :       }
    1448           29 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1449           29 :       res_op0 = _r1;
    1450              :     }
    1451           29 :     tree res_op1;
    1452           29 :     res_op1 =  build_zero_cst (TREE_TYPE (captures[0]));
    1453           29 :     tree _r;
    1454           29 :     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1455           29 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 414, __FILE__, __LINE__, true);
    1456              :     return _r;
    1457              :   }
    1458              : next_after_fail513:;
    1459              :   return NULL_TREE;
    1460              : }
    1461              : 
    1462              : tree
    1463     29848767 : generic_simplify_282 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1464              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1465              :  const enum tree_code ARG_UNUSED (cmp))
    1466              : {
    1467     29848767 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1468     29848767 :   if (tree_expr_nonzero_p (captures[0])
    1469              : )
    1470              :     {
    1471       965120 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail517;
    1472       965120 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
    1473       965120 :       {
    1474       965120 :         tree _r;
    1475       965120 :         _r =  constant_boolean_node (cmp == NE_EXPR, type);
    1476       965120 :         if (TREE_SIDE_EFFECTS (captures[0]))
    1477         6712 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    1478       965120 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 418, __FILE__, __LINE__, true);
    1479       965120 :         return _r;
    1480              :       }
    1481              : next_after_fail517:;
    1482              :     }
    1483              :   return NULL_TREE;
    1484              : }
    1485              : 
    1486              : tree
    1487            4 : generic_simplify_288 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1488              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1489              :  const enum tree_code ARG_UNUSED (cmp),
    1490              :  const enum tree_code ARG_UNUSED (ncmp))
    1491              : {
    1492            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1493            8 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1494            4 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    1495            8 :  && types_match (captures[0], captures[2])
    1496              : )
    1497              :     {
    1498            4 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail523;
    1499            4 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail523;
    1500            4 :       {
    1501            4 :         tree res_op0;
    1502            4 :         {
    1503            4 :           tree _o1[2], _r1;
    1504            4 :           _o1[0] = captures[0];
    1505            4 :           _o1[1] = captures[2];
    1506            4 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1507            4 :           res_op0 = _r1;
    1508              :         }
    1509            4 :         tree res_op1;
    1510            4 :         res_op1 = captures[1];
    1511            4 :         tree _r;
    1512            4 :         _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
    1513            4 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 423, __FILE__, __LINE__, true);
    1514            4 :         return _r;
    1515              :       }
    1516              : next_after_fail523:;
    1517              :     }
    1518              :   return NULL_TREE;
    1519              : }
    1520              : 
    1521              : tree
    1522      1096551 : generic_simplify_294 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1523              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1524              :  const enum tree_code ARG_UNUSED (cmp))
    1525              : {
    1526      1096551 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1527      1670641 :   if (((POINTER_TYPE_P (TREE_TYPE (captures[0]))
    1528       524392 :  && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[0])))
    1529       486120 :  && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    1530         9852 :  && !(
    1531              : 1
    1532         9732 :  && TREE_CODE (TREE_TYPE (captures[0])) == REFERENCE_TYPE
    1533          120 :  && (flag_sanitize & (SANITIZE_NULL | SANITIZE_ALIGNMENT))))
    1534      1086831 :  || (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1535       572030 :  && POINTER_TYPE_P (TREE_TYPE (captures[1]))
    1536         2240 :  && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (captures[1])))))
    1537      1108006 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
    1538              : )
    1539              :     {
    1540        10423 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail543;
    1541        10423 :       {
    1542        10423 :         tree res_op0;
    1543        10423 :         res_op0 = captures[0];
    1544        10423 :         tree res_op1;
    1545        10423 :         {
    1546        10423 :           tree _o1[1], _r1;
    1547        10423 :           _o1[0] = captures[1];
    1548        10423 :           if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
    1549              :             {
    1550        10423 :               _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
    1551              :             }
    1552              :           else
    1553              :             _r1 = _o1[0];
    1554        10423 :           res_op1 = _r1;
    1555              :         }
    1556        10423 :         tree _r;
    1557        10423 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1558        10423 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 434, __FILE__, __LINE__, true);
    1559        10423 :         return _r;
    1560              :       }
    1561            0 : next_after_fail543:;
    1562              :     }
    1563              :   return NULL_TREE;
    1564              : }
    1565              : 
    1566              : tree
    1567       590839 : generic_simplify_298 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1568              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1569              :  const enum tree_code ARG_UNUSED (cmp),
    1570              :  const enum tree_code ARG_UNUSED (rcmp))
    1571              : {
    1572       590839 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1573      1181678 :   if (!TREE_OVERFLOW (captures[0]) && !TREE_OVERFLOW (captures[2])
    1574      1181678 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    1575              : )
    1576              :     {
    1577         2963 :       {
    1578         2963 :  tree res = int_const_binop (MINUS_EXPR, captures[0], captures[2]);
    1579         2963 :           if (TREE_OVERFLOW (res)
    1580              : )
    1581              :             {
    1582           48 :               if (cmp == NE_EXPR
    1583              : )
    1584              :                 {
    1585            0 :                   if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail552;
    1586            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail552;
    1587            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail552;
    1588            0 :                   {
    1589            0 :                     tree _r;
    1590            0 :                     _r =  constant_boolean_node (true, type);
    1591            0 :                     if (TREE_SIDE_EFFECTS (captures[1]))
    1592            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1593            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 443, __FILE__, __LINE__, true);
    1594            0 :                     return _r;
    1595              :                   }
    1596              : next_after_fail552:;
    1597              :                 }
    1598              :               else
    1599              :                 {
    1600           48 :                   if (cmp == EQ_EXPR
    1601              : )
    1602              :                     {
    1603            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail553;
    1604            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail553;
    1605            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail553;
    1606            0 :                       {
    1607            0 :                         tree _r;
    1608            0 :                         _r =  constant_boolean_node (false, type);
    1609            0 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1610            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1611            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 444, __FILE__, __LINE__, true);
    1612            0 :                         return _r;
    1613              :                       }
    1614              : next_after_fail553:;
    1615              :                     }
    1616              :                   else
    1617              :                     {
    1618           48 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail554;
    1619           48 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail554;
    1620           48 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail554;
    1621           48 :                       {
    1622           48 :                         tree _r;
    1623           48 :  bool less = cmp == LE_EXPR || cmp == LT_EXPR;
    1624           48 :  bool ovf_high = wi::lt_p (wi::to_wide (captures[0]), 0,
    1625           48 :  TYPE_SIGN (TREE_TYPE (captures[0])));                  _r = 
    1626           48 :  constant_boolean_node (less == ovf_high, type);
    1627           48 :                         if (TREE_SIDE_EFFECTS (captures[1]))
    1628            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1629           48 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 445, __FILE__, __LINE__, true);
    1630           48 :                         return _r;
    1631              :                       }
    1632              : next_after_fail554:;
    1633              :                     }
    1634              :                 }
    1635              :             }
    1636              :           else
    1637              :             {
    1638         2915 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail555;
    1639         2915 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail555;
    1640         2915 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail555;
    1641         2915 :               {
    1642         2915 :                 tree res_op0;
    1643         2915 :                 res_op0 = captures[1];
    1644         2915 :                 tree res_op1;
    1645         2915 :                 res_op1 =  res;
    1646         2915 :                 tree _r;
    1647         2915 :                 _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1648         2915 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 446, __FILE__, __LINE__, true);
    1649         2915 :                 return _r;
    1650              :               }
    1651              : next_after_fail555:;
    1652              :             }
    1653              :       }
    1654              :     }
    1655              :   else
    1656              :     {
    1657       587876 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1658              : )
    1659              :         {
    1660       587782 :           if (cmp == EQ_EXPR || cmp == NE_EXPR
    1661              : )
    1662              :             {
    1663        36118 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail556;
    1664        36118 :               {
    1665        36118 :                 tree res_op0;
    1666        36118 :                 res_op0 = captures[1];
    1667        36118 :                 tree res_op1;
    1668        36118 :                 {
    1669        36118 :                   tree _o1[2], _r1;
    1670        36118 :                   _o1[0] = captures[0];
    1671        36118 :                   _o1[1] = captures[2];
    1672        36118 :                   _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1673        36118 :                   res_op1 = _r1;
    1674              :                 }
    1675        36118 :                 tree _r;
    1676        36118 :                 _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1677        36118 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
    1678        36118 :                 return _r;
    1679              :               }
    1680            0 : next_after_fail556:;
    1681              :             }
    1682              :           else
    1683              :             {
    1684       551664 :               if (cmp == LE_EXPR || cmp == GT_EXPR
    1685              : )
    1686              :                 {
    1687       551664 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail557;
    1688       551664 :                   {
    1689       551664 :                     if (! tree_invariant_p (captures[2])) goto next_after_fail557;
    1690       551664 :                     tree res_op0;
    1691       551664 :                     {
    1692       551664 :                       tree _o1[2], _r1;
    1693       551664 :                       _o1[0] = captures[1];
    1694       551664 :                       {
    1695       551664 :                         tree _o2[2], _r2;
    1696       551664 :                         _o2[0] = unshare_expr (captures[2]);
    1697       551664 :                         _o2[1] = captures[0];
    1698       551664 :                         _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1699       551664 :                         _o1[1] = _r2;
    1700              :                       }
    1701       551664 :                       _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1702       551664 :                       res_op0 = _r1;
    1703              :                     }
    1704       551664 :                     tree res_op1;
    1705       551664 :                     res_op1 = captures[2];
    1706       551664 :                     tree _r;
    1707       551664 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1708       551664 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 448, __FILE__, __LINE__, true);
    1709       551664 :                     return _r;
    1710              :                   }
    1711              : next_after_fail557:;
    1712              :                 }
    1713              :               else
    1714              :                 {
    1715            0 :                   if (cmp == LT_EXPR || cmp == GE_EXPR
    1716              : )
    1717              :                     {
    1718            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail558;
    1719            0 :                       {
    1720            0 :                         if (! tree_invariant_p (captures[2])) goto next_after_fail558;
    1721            0 :                         tree res_op0;
    1722            0 :                         {
    1723            0 :                           tree _o1[2], _r1;
    1724            0 :                           _o1[0] = captures[1];
    1725            0 :                           {
    1726            0 :                             tree _o2[2], _r2;
    1727            0 :                             _o2[0] = unshare_expr (captures[2]);
    1728            0 :                             {
    1729            0 :                               tree _o3[2], _r3;
    1730            0 :                               _o3[0] = captures[0];
    1731            0 :                               _o3[1] =  build_one_cst (TREE_TYPE (captures[1]));
    1732            0 :                               _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
    1733            0 :                               _o2[1] = _r3;
    1734              :                             }
    1735            0 :                             _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1736            0 :                             _o1[1] = _r2;
    1737              :                           }
    1738            0 :                           _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1739            0 :                           res_op0 = _r1;
    1740              :                         }
    1741            0 :                         tree res_op1;
    1742            0 :                         res_op1 = captures[2];
    1743            0 :                         tree _r;
    1744            0 :                         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1745            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 449, __FILE__, __LINE__, true);
    1746            0 :                         return _r;
    1747              :                       }
    1748              : next_after_fail558:;
    1749              :                     }
    1750              :                 }
    1751              :             }
    1752              :         }
    1753              :       else
    1754              :         {
    1755           94 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    1756           94 :  && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    1757              : )
    1758              :             {
    1759           94 :               if (cmp == EQ_EXPR || cmp == NE_EXPR
    1760              : )
    1761              :                 {
    1762            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail559;
    1763            0 :                   {
    1764            0 :                     tree res_op0;
    1765            0 :                     res_op0 = captures[1];
    1766            0 :                     tree res_op1;
    1767            0 :                     {
    1768            0 :                       tree _o1[2], _r1;
    1769            0 :                       _o1[0] = captures[0];
    1770            0 :                       _o1[1] = captures[2];
    1771            0 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1772            0 :                       res_op1 = _r1;
    1773              :                     }
    1774            0 :                     tree _r;
    1775            0 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    1776            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
    1777            0 :                     return _r;
    1778              :                   }
    1779            0 : next_after_fail559:;
    1780              :                 }
    1781              :               else
    1782              :                 {
    1783           94 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail560;
    1784           94 :                   {
    1785           94 :                     tree res_op0;
    1786           94 :                     {
    1787           94 :                       tree _o1[2], _r1;
    1788           94 :                       _o1[0] = captures[1];
    1789           94 :                       {
    1790           94 :                         tree _o2[2], _r2;
    1791           94 :                         _o2[0] = captures[0];
    1792           94 :                         _o2[1] =  build_one_cst (TREE_TYPE (captures[1]));
    1793           94 :                         _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    1794           94 :                         _o1[1] = _r2;
    1795              :                       }
    1796           94 :                       _r1 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    1797           94 :                       res_op0 = _r1;
    1798              :                     }
    1799           94 :                     tree res_op1;
    1800           94 :                     {
    1801           94 :                       tree _o1[1], _r1;
    1802           94 :                       _o1[0] = captures[2];
    1803           94 :                       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    1804           94 :                       res_op1 = _r1;
    1805              :                     }
    1806           94 :                     tree _r;
    1807           94 :                     _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    1808           94 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 451, __FILE__, __LINE__, true);
    1809           94 :                     return _r;
    1810              :                   }
    1811            0 : next_after_fail560:;
    1812              :                 }
    1813              :             }
    1814              :         }
    1815              :     }
    1816              :   return NULL_TREE;
    1817              : }
    1818              : 
    1819              : tree
    1820            0 : generic_simplify_338 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1821              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1822              :  const combined_fn ARG_UNUSED (SQRT))
    1823              : {
    1824            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1825            0 :   if (flag_unsafe_math_optimizations
    1826              : )
    1827              :     {
    1828            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail612;
    1829            0 :       {
    1830            0 :         tree res_op0;
    1831            0 :         res_op0 = captures[0];
    1832            0 :         tree _r;
    1833            0 :         _r = maybe_build_call_expr_loc (loc, SQRT, type, 1, res_op0);
    1834            0 :         if (!_r)
    1835            0 :           goto next_after_fail612;
    1836            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 501, __FILE__, __LINE__, true);
    1837            0 :         return _r;
    1838              :       }
    1839              : next_after_fail612:;
    1840              :     }
    1841              :   return NULL_TREE;
    1842              : }
    1843              : 
    1844              : tree
    1845            6 : generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1846              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1847              :  const combined_fn ARG_UNUSED (TAN),
    1848              :  const combined_fn ARG_UNUSED (SIN),
    1849              :  const combined_fn ARG_UNUSED (COS))
    1850              : {
    1851            6 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1852            6 :   if (flag_unsafe_math_optimizations && canonicalize_math_p ()
    1853              : )
    1854              :     {
    1855            6 :       if (! HONOR_NANS (captures[1])
    1856            6 :  && ! HONOR_INFINITIES (captures[1])
    1857              : )
    1858              :         {
    1859            6 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail618;
    1860            6 :           {
    1861            6 :             tree res_op0;
    1862            6 :             res_op0 =  build_one_cst (type);
    1863            6 :             tree res_op1;
    1864            6 :             {
    1865            6 :               tree _o1[1], _r1;
    1866            6 :               _o1[0] = captures[1];
    1867            6 :               _r1 = maybe_build_call_expr_loc (loc, COS, TREE_TYPE (_o1[0]), 1, _o1[0]);
    1868            6 :               if (!_r1)
    1869            0 :                 goto next_after_fail618;
    1870            6 :               res_op1 = _r1;
    1871              :             }
    1872            6 :             tree _r;
    1873            6 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    1874            6 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 507, __FILE__, __LINE__, true);
    1875            6 :             return _r;
    1876              :           }
    1877              : next_after_fail618:;
    1878              :         }
    1879              :     }
    1880              :   return NULL_TREE;
    1881              : }
    1882              : 
    1883              : tree
    1884            0 : generic_simplify_354 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1885              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1886              :  const enum tree_code ARG_UNUSED (cmp))
    1887              : {
    1888            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1889            0 :   if (INTEGRAL_TYPE_P (type)
    1890              : )
    1891              :     {
    1892            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail634;
    1893            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail634;
    1894            0 :       {
    1895            0 :         tree _r;
    1896            0 :         _r = captures[2];
    1897            0 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1898            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1899            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 523, __FILE__, __LINE__, true);
    1900            0 :         return _r;
    1901              :       }
    1902              : next_after_fail634:;
    1903              :     }
    1904              :   return NULL_TREE;
    1905              : }
    1906              : 
    1907              : tree
    1908           21 : generic_simplify_358 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1909              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1910              : {
    1911           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1912           21 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail638;
    1913           21 :   if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail638;
    1914           21 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail638;
    1915           21 :   {
    1916           21 :     tree _r;
    1917           21 :     _r = captures[2];
    1918           21 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 527, __FILE__, __LINE__, true);
    1919              :     return _r;
    1920              :   }
    1921              : next_after_fail638:;
    1922              :   return NULL_TREE;
    1923              : }
    1924              : 
    1925              : tree
    1926            0 : generic_simplify_362 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1927              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    1928              : {
    1929            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1930            0 :   if (INTEGRAL_TYPE_P (type)
    1931              : )
    1932              :     {
    1933            0 :       if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail642;
    1934            0 :       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail642;
    1935            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail642;
    1936            0 :       {
    1937            0 :         tree _r;
    1938            0 :         _r = captures[2];
    1939            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
    1940            0 :         return _r;
    1941              :       }
    1942              : next_after_fail642:;
    1943              :     }
    1944              :   return NULL_TREE;
    1945              : }
    1946              : 
    1947              : tree
    1948            0 : generic_simplify_369 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1949              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1950              :  const enum tree_code ARG_UNUSED (op))
    1951              : {
    1952            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1953            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail649;
    1954            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail649;
    1955            0 :   {
    1956            0 :     tree _r;
    1957            0 :     _r = captures[2];
    1958            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
    1959              :     return _r;
    1960              :   }
    1961              : next_after_fail649:;
    1962              :   return NULL_TREE;
    1963              : }
    1964              : 
    1965              : tree
    1966            3 : generic_simplify_375 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1967              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    1968              :  const combined_fn ARG_UNUSED (func))
    1969              : {
    1970            3 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1971            3 :   if (wi::to_widest (captures[4]) == TYPE_PRECISION (TREE_TYPE (captures[3])) - 1
    1972              : )
    1973              :     {
    1974            3 :       if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail656;
    1975            3 :       if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail656;
    1976            3 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail656;
    1977            3 :       {
    1978            3 :         tree _r;
    1979            3 :         _r = captures[2];
    1980            3 :         if (TREE_SIDE_EFFECTS (captures[1]))
    1981            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    1982            3 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 544, __FILE__, __LINE__, true);
    1983            3 :         return _r;
    1984              :       }
    1985              : next_after_fail656:;
    1986              :     }
    1987              :   return NULL_TREE;
    1988              : }
    1989              : 
    1990              : tree
    1991       163227 : generic_simplify_383 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    1992              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    1993              :  const enum tree_code ARG_UNUSED (op))
    1994              : {
    1995       163227 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    1996       326454 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    1997       326454 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
    1998              : )
    1999              :     {
    2000        68944 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail668;
    2001        68944 :       {
    2002        68944 :         tree res_op0;
    2003        68944 :         res_op0 = captures[0];
    2004        68944 :         tree res_op1;
    2005        68944 :         res_op1 = captures[2];
    2006        68944 :         tree _r;
    2007        68944 :         _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
    2008        68944 :         if (TREE_SIDE_EFFECTS (captures[1]))
    2009            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2010        68944 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 555, __FILE__, __LINE__, true);
    2011        68944 :         return _r;
    2012              :       }
    2013            0 : next_after_fail668:;
    2014              :     }
    2015              :   return NULL_TREE;
    2016              : }
    2017              : 
    2018              : tree
    2019         5312 : generic_simplify_388 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2020              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2021              :  const enum tree_code ARG_UNUSED (cmp),
    2022              :  const enum tree_code ARG_UNUSED (bitop))
    2023              : {
    2024         5312 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2025         5312 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2026              : )
    2027              :     {
    2028         5312 :       if (bitop == BIT_AND_EXPR || tree_expr_nonnegative_p (captures[1])
    2029              : )
    2030              :         {
    2031         5312 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail673;
    2032         5312 :           {
    2033         5312 :             tree _r;
    2034         5312 :             _r =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    2035         5312 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2036            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2037         5312 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2038            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2039         5312 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 560, __FILE__, __LINE__, true);
    2040         5312 :             return _r;
    2041              :           }
    2042            0 : next_after_fail673:;
    2043              :         }
    2044              :       else
    2045              :         {
    2046            0 :           if (TREE_CODE (captures[1]) == INTEGER_CST && wi::neg_p (wi::to_wide (captures[1]))
    2047              : )
    2048              :             {
    2049            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail674;
    2050            0 :               {
    2051            0 :                 tree _r;
    2052            0 :                 _r =  constant_boolean_node (cmp == LT_EXPR, type);
    2053            0 :                 if (TREE_SIDE_EFFECTS (captures[0]))
    2054            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2055            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2056            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2057            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 561, __FILE__, __LINE__, true);
    2058            0 :                 return _r;
    2059              :               }
    2060            0 : next_after_fail674:;
    2061              :             }
    2062              :         }
    2063              :     }
    2064              :   return NULL_TREE;
    2065              : }
    2066              : 
    2067              : tree
    2068            2 : generic_simplify_403 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2069              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2070              :  const enum tree_code ARG_UNUSED (cmp))
    2071              : {
    2072            2 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2073            4 :   if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2074            4 :  && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
    2075              : )
    2076              :     {
    2077            2 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail721;
    2078            2 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail721;
    2079            2 :       {
    2080            2 :         tree res_op0;
    2081            2 :         res_op0 = captures[1];
    2082            2 :         tree res_op1;
    2083            2 :         res_op1 = captures[0];
    2084            2 :         tree _r;
    2085            2 :         _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2086            2 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 591, __FILE__, __LINE__, true);
    2087            2 :         return _r;
    2088              :       }
    2089              : next_after_fail721:;
    2090              :     }
    2091              :   return NULL_TREE;
    2092              : }
    2093              : 
    2094              : tree
    2095      2472530 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2096              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2097              :  const enum tree_code ARG_UNUSED (op),
    2098              :  const enum tree_code ARG_UNUSED (rop),
    2099              :  const enum tree_code ARG_UNUSED (cmp),
    2100              :  const enum tree_code ARG_UNUSED (rcmp))
    2101              : {
    2102      2472530 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2103      4945046 :   if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
    2104      4945034 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
    2105              : )
    2106              :     {
    2107       890316 :       {
    2108       890316 :  tree res = int_const_binop (rop, captures[3], captures[2]);
    2109       890316 :           if (TREE_OVERFLOW (res)
    2110              : )
    2111              :             {
    2112        13168 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail727;
    2113        13168 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail727;
    2114        13168 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail727;
    2115        13168 :               {
    2116        13168 :                 tree _r;
    2117        13168 :  bool less = cmp == LE_EXPR || cmp == LT_EXPR;
    2118        13168 :  bool ovf_high = wi::lt_p (wi::to_wide (captures[2]), 0,
    2119        13168 :  TYPE_SIGN (TREE_TYPE (captures[2])))
    2120        13168 :  != (op == MINUS_EXPR);         _r = 
    2121        13168 :  constant_boolean_node (less == ovf_high, type);
    2122        13168 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2123            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2124        13168 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 597, __FILE__, __LINE__, true);
    2125        13168 :                 return _r;
    2126              :               }
    2127              : next_after_fail727:;
    2128              :             }
    2129              :           else
    2130              :             {
    2131       877148 :               if (single_use (captures[0])
    2132              : )
    2133              :                 {
    2134       877148 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail728;
    2135       877148 :                   if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail728;
    2136       877148 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail728;
    2137       877148 :                   {
    2138       877148 :                     tree res_op0;
    2139       877148 :                     res_op0 = captures[1];
    2140       877148 :                     tree res_op1;
    2141       877148 :                     res_op1 =  res;
    2142       877148 :                     tree _r;
    2143       877148 :                     _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
    2144       877148 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 598, __FILE__, __LINE__, true);
    2145       877148 :                     return _r;
    2146              :                   }
    2147              : next_after_fail728:;
    2148              :                 }
    2149              :             }
    2150              :       }
    2151              :     }
    2152              :   else
    2153              :     {
    2154      1582214 :       if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
    2155              : )
    2156              :         {
    2157      1582089 :           {
    2158      1582089 :  wide_int max = wi::max_value (TREE_TYPE (captures[1]));
    2159      1582089 :  wide_int min = wi::min_value (TREE_TYPE (captures[1]));
    2160      1582089 :  wide_int c2 = rop == PLUS_EXPR
    2161      1582089 :  ? wi::add (wi::to_wide (captures[3]), wi::to_wide (captures[2]))
    2162      1582089 :  : wi::sub (wi::to_wide (captures[3]), wi::to_wide (captures[2]));
    2163      1510872 :               if (((cmp == LE_EXPR || cmp == GT_EXPR) && wi::eq_p (c2, max))
    2164      3077414 :  || ((cmp == LT_EXPR || cmp == GE_EXPR) && wi::eq_p (c2, min))
    2165              : )
    2166              :                 {
    2167        15705 :                   {
    2168        15705 :  wide_int c1 = rop == PLUS_EXPR
    2169        15705 :  ? wi::add (wi::bit_not (c2), wi::to_wide (captures[2]))
    2170        31410 :  : wi::sub (wi::bit_not (c2), wi::to_wide (captures[2]));
    2171        15705 :  tree c1_cst = wide_int_to_tree (TREE_TYPE (captures[1]), c1);
    2172        15705 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail729;
    2173        15705 :                       if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail729;
    2174        15705 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail729;
    2175        15705 :                       {
    2176        15705 :                         tree res_op0;
    2177        15705 :                         res_op0 = captures[1];
    2178        15705 :                         tree res_op1;
    2179        15705 :                         res_op1 =  c1_cst;
    2180        15705 :                         tree _r;
    2181        15705 :                         _r = fold_build2_loc (loc, rcmp, type, res_op0, res_op1);
    2182        15705 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 599, __FILE__, __LINE__, true);
    2183        15705 :                         return _r;
    2184              :                       }
    2185            0 : next_after_fail729:;
    2186        15705 :                   }
    2187              :                 }
    2188      1582091 :           }
    2189              :         }
    2190              :     }
    2191              :   return NULL_TREE;
    2192              : }
    2193              : 
    2194              : tree
    2195           11 : generic_simplify_425 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2196              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2197              : {
    2198           11 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2199           11 :   if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
    2200              : )
    2201              :     {
    2202           11 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail754;
    2203           11 :       {
    2204           11 :         tree res_op0;
    2205           11 :         {
    2206           11 :           tree _o1[1], _r1;
    2207           11 :           _o1[0] = captures[0];
    2208           11 :           if (TREE_TYPE (_o1[0]) != type)
    2209              :             {
    2210            8 :               _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
    2211              :             }
    2212              :           else
    2213              :             _r1 = _o1[0];
    2214           11 :           res_op0 = _r1;
    2215              :         }
    2216           11 :         tree res_op1;
    2217           11 :         {
    2218           11 :           tree _o1[2], _r1;
    2219           11 :           _o1[0] =  build_minus_one_cst (type);
    2220           11 :           _o1[1] = captures[1];
    2221           11 :           _r1 = fold_build2_loc (loc, LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2222           11 :           res_op1 = _r1;
    2223              :         }
    2224           11 :         tree _r;
    2225           11 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2226           11 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
    2227           11 :         return _r;
    2228              :       }
    2229            0 : next_after_fail754:;
    2230              :     }
    2231              :   return NULL_TREE;
    2232              : }
    2233              : 
    2234              : tree
    2235           18 : generic_simplify_431 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2236              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2237              :  const enum tree_code ARG_UNUSED (bit_op),
    2238              :  const enum tree_code ARG_UNUSED (shift))
    2239              : {
    2240           18 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2241           18 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
    2242              : )
    2243              :     {
    2244           16 :       {
    2245           16 :  tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
    2246           16 :           if (mask
    2247              : )
    2248              :             {
    2249           16 :               if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail763;
    2250           16 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail763;
    2251           16 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail763;
    2252           16 :               {
    2253           16 :                 tree res_op0;
    2254           16 :                 {
    2255           16 :                   tree _o1[2], _r1;
    2256           16 :                   {
    2257           16 :                     tree _o2[1], _r2;
    2258           16 :                     _o2[0] = captures[2];
    2259           16 :                     if (TREE_TYPE (_o2[0]) != type)
    2260              :                       {
    2261           16 :                         _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
    2262              :                       }
    2263              :                     else
    2264              :                       _r2 = _o2[0];
    2265           16 :                     _o1[0] = _r2;
    2266              :                   }
    2267           16 :                   _o1[1] = captures[4];
    2268           16 :                   _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2269           16 :                   res_op0 = _r1;
    2270              :                 }
    2271           16 :                 tree res_op1;
    2272           16 :                 res_op1 =  mask;
    2273           16 :                 tree _r;
    2274           16 :                 _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
    2275           16 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 628, __FILE__, __LINE__, true);
    2276           16 :                 return _r;
    2277              :               }
    2278              : next_after_fail763:;
    2279              :             }
    2280              :       }
    2281              :     }
    2282              :   return NULL_TREE;
    2283              : }
    2284              : 
    2285              : tree
    2286         2227 : generic_simplify_437 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2287              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2288              :  const enum tree_code ARG_UNUSED (eqne))
    2289              : {
    2290         2227 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2291         2227 :   if ((integer_zerop (captures[1]) || integer_onep (captures[1]))
    2292              : )
    2293              :     {
    2294         2225 :       if ((eqne == EQ_EXPR) ^ integer_zerop (captures[1])
    2295              : )
    2296              :         {
    2297         1571 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail774;
    2298         1571 :           {
    2299         1571 :             tree res_op0;
    2300         1571 :             res_op0 = captures[0];
    2301         1571 :             tree _r;
    2302         1571 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2303         1571 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2304            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2305         1571 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
    2306         1571 :             return _r;
    2307              :           }
    2308            0 : next_after_fail774:;
    2309              :         }
    2310              :       else
    2311              :         {
    2312          654 :           if (types_match (type, TREE_TYPE (captures[0]))
    2313              : )
    2314              :             {
    2315           41 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail775;
    2316           41 :               {
    2317           41 :                 tree res_op0;
    2318           41 :                 res_op0 = captures[0];
    2319           41 :                 tree res_op1;
    2320           41 :                 res_op1 =  build_one_cst (type);
    2321           41 :                 tree _r;
    2322           41 :                 _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2323           41 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2324            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2325           41 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
    2326           41 :                 return _r;
    2327              :               }
    2328            0 : next_after_fail775:;
    2329              :             }
    2330              :         }
    2331              :     }
    2332              :   return NULL_TREE;
    2333              : }
    2334              : 
    2335              : tree
    2336            0 : generic_simplify_445 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2337              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2338              :  const combined_fn ARG_UNUSED (copysigns),
    2339              :  const combined_fn ARG_UNUSED (coss))
    2340              : {
    2341            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2342            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail795;
    2343            0 :   {
    2344            0 :     tree res_op0;
    2345            0 :     res_op0 = captures[0];
    2346            0 :     tree _r;
    2347            0 :     _r = maybe_build_call_expr_loc (loc, coss, type, 1, res_op0);
    2348            0 :     if (!_r)
    2349            0 :       goto next_after_fail795;
    2350            0 :     if (TREE_SIDE_EFFECTS (captures[1]))
    2351            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2352            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 647, __FILE__, __LINE__, true);
    2353              :     return _r;
    2354              :   }
    2355              : next_after_fail795:;
    2356              :   return NULL_TREE;
    2357              : }
    2358              : 
    2359              : tree
    2360            0 : generic_simplify_448 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2361              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2362              :  const combined_fn ARG_UNUSED (copysigns),
    2363              :  const combined_fn ARG_UNUSED (pows))
    2364              : {
    2365            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2366            0 :   {
    2367            0 :  HOST_WIDE_INT n;
    2368            0 :       if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
    2369              : )
    2370              :         {
    2371            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail798;
    2372            0 :           {
    2373            0 :             tree res_op0;
    2374            0 :             res_op0 = captures[0];
    2375            0 :             tree res_op1;
    2376            0 :             res_op1 = captures[2];
    2377            0 :             tree _r;
    2378            0 :             _r = maybe_build_call_expr_loc (loc, pows, type, 2, res_op0, res_op1);
    2379            0 :             if (!_r)
    2380            0 :               goto next_after_fail798;
    2381            0 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2382            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2383            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 650, __FILE__, __LINE__, true);
    2384            0 :             return _r;
    2385              :           }
    2386            0 : next_after_fail798:;
    2387              :         }
    2388              :   }
    2389            0 :   return NULL_TREE;
    2390              : }
    2391              : 
    2392              : tree
    2393            0 : generic_simplify_450 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2394              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2395              :  const combined_fn ARG_UNUSED (pow))
    2396              : {
    2397            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2398            0 :   if (flag_unsafe_math_optimizations
    2399              : )
    2400              :     {
    2401            0 :       if (! HONOR_INFINITIES (type)
    2402            0 :  && ! flag_trapping_math
    2403            0 :  && ! flag_errno_math
    2404              : )
    2405              :         {
    2406            0 :           if (! HONOR_NANS (type) && ! HONOR_SIGNED_ZEROS (type)
    2407              : )
    2408              :             {
    2409            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail800;
    2410            0 :               {
    2411            0 :                 tree _r;
    2412            0 :                 _r = captures[0];
    2413            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
    2414            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2415            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 652, __FILE__, __LINE__, true);
    2416            0 :                 return _r;
    2417              :               }
    2418            0 : next_after_fail800:;
    2419              :             }
    2420              :         }
    2421              :     }
    2422              :   return NULL_TREE;
    2423              : }
    2424              : 
    2425              : tree
    2426            0 : generic_simplify_454 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2427              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2428              :  const combined_fn ARG_UNUSED (copysigns),
    2429              :  const combined_fn ARG_UNUSED (hypots))
    2430              : {
    2431            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2432            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail804;
    2433            0 :   {
    2434            0 :     tree res_op0;
    2435            0 :     res_op0 = captures[0];
    2436            0 :     tree res_op1;
    2437            0 :     res_op1 = captures[1];
    2438            0 :     tree _r;
    2439            0 :     _r = maybe_build_call_expr_loc (loc, hypots, type, 2, res_op0, res_op1);
    2440            0 :     if (!_r)
    2441            0 :       goto next_after_fail804;
    2442            0 :     if (TREE_SIDE_EFFECTS (captures[2]))
    2443            0 :       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2444            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 656, __FILE__, __LINE__, true);
    2445              :     return _r;
    2446              :   }
    2447              : next_after_fail804:;
    2448              :   return NULL_TREE;
    2449              : }
    2450              : 
    2451              : tree
    2452           21 : generic_simplify_459 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2453              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2454              : {
    2455           21 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2456           42 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
    2457           42 :  && TYPE_PRECISION (TREE_TYPE (captures[0])) == 1
    2458              : )
    2459              :     {
    2460            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail809;
    2461            0 :       {
    2462            0 :         tree res_op0;
    2463            0 :         res_op0 = captures[0];
    2464            0 :         tree res_op1;
    2465            0 :         res_op1 = captures[1];
    2466            0 :         tree _r;
    2467            0 :         _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2468            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 661, __FILE__, __LINE__, true);
    2469            0 :         return _r;
    2470              :       }
    2471            0 : next_after_fail809:;
    2472              :     }
    2473              :   return NULL_TREE;
    2474              : }
    2475              : 
    2476              : tree
    2477            0 : generic_simplify_464 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2478              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2479              : {
    2480            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2481            0 :   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail814;
    2482            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail814;
    2483            0 :   {
    2484            0 :     tree res_op0;
    2485            0 :     res_op0 = captures[0];
    2486            0 :     tree res_op1;
    2487            0 :     {
    2488            0 :       tree _o1[1], _r1;
    2489            0 :       _o1[0] = captures[5];
    2490            0 :       _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2491            0 :       res_op1 = _r1;
    2492              :     }
    2493            0 :     tree _r;
    2494            0 :     _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2495            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
    2496              :     return _r;
    2497              :   }
    2498              : next_after_fail814:;
    2499              :   return NULL_TREE;
    2500              : }
    2501              : 
    2502              : tree
    2503            0 : generic_simplify_470 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2504              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2505              : {
    2506            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2507            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
    2508            0 :   {
    2509            0 :     tree res_op0;
    2510            0 :     res_op0 = captures[0];
    2511            0 :     tree res_op1;
    2512            0 :     res_op1 = captures[1];
    2513            0 :     tree _r;
    2514            0 :     _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
    2515            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
    2516              :     return _r;
    2517              :   }
    2518            0 : next_after_fail820:;
    2519            0 :   return NULL_TREE;
    2520              : }
    2521              : 
    2522              : tree
    2523         1667 : generic_simplify_473 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2524              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2525              : {
    2526         1667 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2527         1667 :   {
    2528         1667 :  bool wascmp;
    2529         1667 :       if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
    2530         1667 :  || bitwise_inverted_equal_p (captures[1], captures[2], wascmp)
    2531              : )
    2532              :         {
    2533            8 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail823;
    2534            8 :           {
    2535            8 :             tree _r;
    2536            8 :             _r =  wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
    2537            8 :             if (TREE_SIDE_EFFECTS (captures[0]))
    2538            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    2539            8 :             if (TREE_SIDE_EFFECTS (captures[1]))
    2540            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
    2541            8 :             if (TREE_SIDE_EFFECTS (captures[2]))
    2542            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2543            8 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 674, __FILE__, __LINE__, true);
    2544            8 :             return _r;
    2545              :           }
    2546            0 : next_after_fail823:;
    2547              :         }
    2548              :   }
    2549         1659 :   return NULL_TREE;
    2550              : }
    2551              : 
    2552              : tree
    2553            0 : generic_simplify_485 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2554              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2555              :  const enum tree_code ARG_UNUSED (eqne))
    2556              : {
    2557            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2558            0 :   if (eqne == EQ_EXPR
    2559              : )
    2560              :     {
    2561            0 :       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail856;
    2562            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail856;
    2563            0 :       {
    2564            0 :         tree _r;
    2565            0 :         _r =  constant_boolean_node (false, type);
    2566            0 :         if (TREE_SIDE_EFFECTS (captures[2]))
    2567            0 :           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    2568            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
    2569            0 :         return _r;
    2570              :       }
    2571              : next_after_fail856:;
    2572              :     }
    2573              :   else
    2574              :     {
    2575            0 :       if (eqne == NE_EXPR
    2576              : )
    2577              :         {
    2578            0 :           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail857;
    2579            0 :           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail857;
    2580            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail857;
    2581            0 :           {
    2582            0 :             tree _r;
    2583            0 :             _r = captures[0];
    2584            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
    2585            0 :             return _r;
    2586              :           }
    2587              : next_after_fail857:;
    2588              :         }
    2589              :     }
    2590              :   return NULL_TREE;
    2591              : }
    2592              : 
    2593              : tree
    2594            4 : generic_simplify_493 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2595              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
    2596              : {
    2597            4 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2598            4 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
    2599            4 :   {
    2600            4 :     tree res_op0;
    2601            4 :     res_op0 = captures[1];
    2602            4 :     tree res_op1;
    2603            4 :     {
    2604            4 :       tree _o1[2], _r1;
    2605            4 :       _o1[0] = captures[2];
    2606            4 :       _o1[1] = captures[3];
    2607            4 :       _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2608            4 :       if (EXPR_P (_r1))
    2609            2 :         goto next_after_fail877;
    2610            2 :       res_op1 = _r1;
    2611              :     }
    2612            2 :     tree _r;
    2613            2 :     _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    2614            2 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 699, __FILE__, __LINE__, true);
    2615              :     return _r;
    2616              :   }
    2617              : next_after_fail877:;
    2618              :   return NULL_TREE;
    2619              : }
    2620              : 
    2621              : tree
    2622        41168 : generic_simplify_497 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2623              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2624              :  const enum tree_code ARG_UNUSED (shift))
    2625              : {
    2626        41168 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2627        41168 :   if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
    2628        23571 :  && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
    2629        23571 :  && tree_fits_uhwi_p (captures[4])
    2630        23571 :  && tree_to_uhwi (captures[4]) > 0
    2631        64737 :  && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
    2632              : )
    2633              :     {
    2634        23569 :       {
    2635        23569 :  unsigned int shiftc = tree_to_uhwi (captures[4]);
    2636        23569 :  unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
    2637        23569 :  unsigned HOST_WIDE_INT newmask, zerobits = 0;
    2638        23569 :  tree shift_type = TREE_TYPE (captures[2]);
    2639        23569 :  unsigned int prec;
    2640        23569 :  if (shift == LSHIFT_EXPR)
    2641            0 :  zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
    2642        23569 :  else if (shift == RSHIFT_EXPR
    2643        23569 :  && type_has_mode_precision_p (shift_type))
    2644              :  {
    2645        23569 :  prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
    2646        23569 :  tree arg00 = captures[3];
    2647        23569 :  if (captures[2] != captures[3]
    2648        23569 :  && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
    2649              :  {
    2650            0 :  tree inner_type = TREE_TYPE (captures[3]);
    2651            0 :  if (type_has_mode_precision_p (inner_type)
    2652            0 :  && TYPE_PRECISION (inner_type) < prec)
    2653              :  {
    2654            0 :  prec = TYPE_PRECISION (inner_type);
    2655            0 :  if (shiftc < prec)
    2656            0 :  shift_type = inner_type;
    2657              :  }
    2658              :  }
    2659        23569 :  zerobits = HOST_WIDE_INT_M1U;
    2660        23569 :  if (shiftc < prec)
    2661              :  {
    2662        23569 :  zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
    2663        23569 :  zerobits <<= prec - shiftc;
    2664              :  }
    2665        23569 :  if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
    2666        23569 :  && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
    2667              :  {
    2668           98 :  if ((mask & zerobits) == 0)
    2669           82 :  shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
    2670              :  else
    2671              :  zerobits = 0;
    2672              :  }
    2673              :  }
    2674        23553 :           if ((mask & zerobits) == mask
    2675              : )
    2676              :             {
    2677            0 :               if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail887;
    2678            0 :               if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail887;
    2679            0 :               if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail887;
    2680            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail887;
    2681            0 :               {
    2682            0 :                 tree _r;
    2683            0 :                 _r =  build_int_cst (type, 0);
    2684            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 700, __FILE__, __LINE__, true);
    2685            0 :                 return _r;
    2686              :               }
    2687              : next_after_fail887:;
    2688              :             }
    2689              :           else
    2690              :             {
    2691        23569 :               {
    2692        23569 :  newmask = mask | zerobits;
    2693        23569 :                   if (newmask != mask && (newmask & (newmask + 1)) == 0
    2694              : )
    2695              :                     {
    2696              :                       {
    2697          109 :  for (prec = BITS_PER_UNIT;
    2698          181 :  prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
    2699          171 :  if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
    2700              :  break;
    2701           72 :                           if (prec < HOST_BITS_PER_WIDE_INT
    2702           10 :  || newmask == HOST_WIDE_INT_M1U
    2703              : )
    2704              :                             {
    2705           72 :                               {
    2706           72 :  tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
    2707           72 :                                   if (!tree_int_cst_equal (newmaskt, captures[5])
    2708              : )
    2709              :                                     {
    2710           72 :                                       if (shift_type != TREE_TYPE (captures[2])
    2711              : )
    2712              :                                         {
    2713           11 :                                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail888;
    2714           11 :                                           if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail888;
    2715           11 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail888;
    2716           11 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail888;
    2717           11 :                                           {
    2718           11 :                                             tree res_op0;
    2719           11 :                                             {
    2720           11 :                                               tree _o1[1], _r1;
    2721           11 :                                               {
    2722           11 :                                                 tree _o2[2], _r2;
    2723           11 :                                                 {
    2724           11 :                                                   tree _o3[1], _r3;
    2725           11 :                                                   _o3[0] = captures[2];
    2726           11 :                                                   if (TREE_TYPE (_o3[0]) != shift_type)
    2727              :                                                     {
    2728           11 :                                                       _r3 = fold_build1_loc (loc, NOP_EXPR, shift_type, _o3[0]);
    2729              :                                                     }
    2730              :                                                   else
    2731              :                                                     _r3 = _o3[0];
    2732           11 :                                                   _o2[0] = _r3;
    2733              :                                                 }
    2734           11 :                                                 _o2[1] = captures[4];
    2735           11 :                                                 _r2 = fold_build2_loc (loc, shift, shift_type, _o2[0], _o2[1]);
    2736           11 :                                                 _o1[0] = _r2;
    2737              :                                               }
    2738           11 :                                               if (TREE_TYPE (_o1[0]) != type)
    2739              :                                                 {
    2740           11 :                                                   _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
    2741              :                                                 }
    2742              :                                               else
    2743              :                                                 _r1 = _o1[0];
    2744           11 :                                               res_op0 = _r1;
    2745              :                                             }
    2746           11 :                                             tree res_op1;
    2747           11 :                                             res_op1 =  newmaskt;
    2748           11 :                                             tree _r;
    2749           11 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2750           11 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 701, __FILE__, __LINE__, true);
    2751           11 :                                             return _r;
    2752              :                                           }
    2753              : next_after_fail888:;
    2754              :                                         }
    2755              :                                       else
    2756              :                                         {
    2757           61 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail889;
    2758           61 :                                           if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail889;
    2759           61 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail889;
    2760           61 :                                           {
    2761           61 :                                             tree res_op0;
    2762           61 :                                             res_op0 = captures[0];
    2763           61 :                                             tree res_op1;
    2764           61 :                                             res_op1 =  newmaskt;
    2765           61 :                                             tree _r;
    2766           61 :                                             _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
    2767           61 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 702, __FILE__, __LINE__, true);
    2768           61 :                                             return _r;
    2769              :                                           }
    2770              : next_after_fail889:;
    2771              :                                         }
    2772              :                                     }
    2773              :                               }
    2774              :                             }
    2775              :                       }
    2776              :                     }
    2777              :               }
    2778              :             }
    2779              :       }
    2780              :     }
    2781              :   return NULL_TREE;
    2782              : }
    2783              : 
    2784              : tree
    2785           17 : generic_simplify_508 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2786              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2787              : {
    2788           17 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2789           17 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
    2790           17 :   {
    2791           17 :     tree res_op0;
    2792           17 :     res_op0 = captures[0];
    2793           17 :     tree res_op1;
    2794           17 :     res_op1 = captures[1];
    2795           17 :     tree _r;
    2796           17 :     _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2797           17 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
    2798              :     return _r;
    2799              :   }
    2800            0 : next_after_fail902:;
    2801            0 :   return NULL_TREE;
    2802              : }
    2803              : 
    2804              : tree
    2805            0 : generic_simplify_513 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2806              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2807              : {
    2808            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2809            0 :   if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
    2810              : )
    2811              :     {
    2812            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail907;
    2813            0 :       {
    2814            0 :         tree res_op0;
    2815            0 :         {
    2816            0 :           tree _o1[2], _r1;
    2817            0 :           _o1[0] = captures[0];
    2818            0 :           _o1[1] = captures[1];
    2819            0 :           _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    2820            0 :           res_op0 = _r1;
    2821              :         }
    2822            0 :         tree _r;
    2823            0 :         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    2824            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
    2825            0 :         return _r;
    2826              :       }
    2827            0 : next_after_fail907:;
    2828              :     }
    2829              :   return NULL_TREE;
    2830              : }
    2831              : 
    2832              : tree
    2833        39309 : generic_simplify_519 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2834              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    2835              : {
    2836        39309 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2837        39309 :   if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
    2838        39309 :  && !HONOR_SIGNED_ZEROS (type)
    2839              : )
    2840              :     {
    2841        39309 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail914;
    2842        39309 :       {
    2843        39309 :         tree res_op0;
    2844        39309 :         {
    2845        39309 :           tree _o1[1], _r1;
    2846        39309 :           _o1[0] = captures[1];
    2847        39309 :           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    2848        39309 :           res_op0 = _r1;
    2849              :         }
    2850        39309 :         tree res_op1;
    2851        39309 :         res_op1 = captures[0];
    2852        39309 :         tree _r;
    2853        39309 :         _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
    2854        39309 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 724, __FILE__, __LINE__, true);
    2855        39309 :         return _r;
    2856              :       }
    2857            0 : next_after_fail914:;
    2858              :     }
    2859              :   return NULL_TREE;
    2860              : }
    2861              : 
    2862              : tree
    2863            0 : generic_simplify_526 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2864              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    2865              :  const enum tree_code ARG_UNUSED (tcc_comparison))
    2866              : {
    2867            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2868            0 :   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail922;
    2869            0 :   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail922;
    2870            0 :   {
    2871            0 :     tree res_op0;
    2872            0 :     res_op0 = captures[1];
    2873            0 :     tree res_op1;
    2874            0 :     res_op1 =  build_one_cst (type);
    2875            0 :     tree res_op2;
    2876            0 :     res_op2 =  build_zero_cst (type);
    2877            0 :     tree _r;
    2878            0 :     _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    2879            0 :     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 732, __FILE__, __LINE__, true);
    2880              :     return _r;
    2881              :   }
    2882              : next_after_fail922:;
    2883              :   return NULL_TREE;
    2884              : }
    2885              : 
    2886              : tree
    2887            0 : generic_simplify_537 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2888              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
    2889              :  const enum tree_code ARG_UNUSED (minmax),
    2890              :  const enum tree_code ARG_UNUSED (cmp))
    2891              : {
    2892            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2893            0 :   {
    2894            0 :  poly_int64 off0, off1;
    2895            0 :  tree base0, base1;
    2896            0 :  int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
    2897              :  off0, off1,
    2898              : 1
    2899              : );
    2900            0 :       if (equal == 1
    2901              : )
    2902              :         {
    2903            0 :           if (minmax == MIN_EXPR
    2904              : )
    2905              :             {
    2906            0 :               if (known_le (off0, off1)
    2907              : )
    2908              :                 {
    2909            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail938;
    2910            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail938;
    2911            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail938;
    2912            0 :                   {
    2913            0 :                     tree _r;
    2914            0 :                     _r = captures[0];
    2915            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 743, __FILE__, __LINE__, true);
    2916            0 :                     return _r;
    2917              :                   }
    2918            0 : next_after_fail938:;
    2919              :                 }
    2920              :               else
    2921              :                 {
    2922            0 :                   if (known_gt (off0, off1)
    2923              : )
    2924              :                     {
    2925            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail939;
    2926            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail939;
    2927            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail939;
    2928            0 :                       {
    2929            0 :                         tree _r;
    2930            0 :                         _r = captures[2];
    2931            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
    2932            0 :                         return _r;
    2933              :                       }
    2934            0 : next_after_fail939:;
    2935              :                     }
    2936              :                 }
    2937              :             }
    2938              :           else
    2939              :             {
    2940            0 :               if (known_ge (off0, off1)
    2941              : )
    2942              :                 {
    2943            0 :                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail940;
    2944            0 :                   if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail940;
    2945            0 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail940;
    2946            0 :                   {
    2947            0 :                     tree _r;
    2948            0 :                     _r = captures[0];
    2949            0 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 745, __FILE__, __LINE__, true);
    2950            0 :                     return _r;
    2951              :                   }
    2952            0 : next_after_fail940:;
    2953              :                 }
    2954              :               else
    2955              :                 {
    2956            0 :                   if (known_lt (off0, off1)
    2957              : )
    2958              :                     {
    2959            0 :                       if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail941;
    2960            0 :                       if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail941;
    2961            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail941;
    2962            0 :                       {
    2963            0 :                         tree _r;
    2964            0 :                         _r = captures[2];
    2965            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 746, __FILE__, __LINE__, true);
    2966            0 :                         return _r;
    2967              :                       }
    2968            0 : next_after_fail941:;
    2969              :                     }
    2970              :                 }
    2971              :             }
    2972              :         }
    2973              :   }
    2974            0 :   return NULL_TREE;
    2975              : }
    2976              : 
    2977              : tree
    2978            0 : generic_simplify_556 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    2979              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
    2980              :  const combined_fn ARG_UNUSED (cond_op))
    2981              : {
    2982            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    2983            0 :   {
    2984            0 :  tree op_type = TREE_TYPE (captures[5]);
    2985            0 :       if (inverse_conditions_p (captures[0], captures[2])
    2986            0 :  && element_precision (type) == element_precision (op_type)
    2987              : )
    2988              :         {
    2989            0 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail966;
    2990            0 :           {
    2991            0 :             tree res_op0;
    2992            0 :             {
    2993            0 :               tree _o1[4], _r1;
    2994            0 :               _o1[0] = captures[2];
    2995            0 :               _o1[1] = captures[3];
    2996            0 :               _o1[2] = captures[4];
    2997            0 :               {
    2998            0 :                 tree _o2[1], _r2;
    2999            0 :                 _o2[0] = captures[1];
    3000            0 :                 if (TREE_TYPE (_o2[0]) != op_type)
    3001              :                   {
    3002            0 :                     _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
    3003              :                   }
    3004              :                 else
    3005              :                   _r2 = _o2[0];
    3006            0 :                 _o1[3] = _r2;
    3007              :               }
    3008            0 :               _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 4, _o1[0], _o1[1], _o1[2], _o1[3]);
    3009            0 :               if (!_r1)
    3010            0 :                 goto next_after_fail966;
    3011            0 :               res_op0 = _r1;
    3012              :             }
    3013            0 :             tree _r;
    3014            0 :             _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
    3015            0 :             if (TREE_SIDE_EFFECTS (captures[0]))
    3016            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    3017            0 :             if (TREE_SIDE_EFFECTS (captures[5]))
    3018            0 :               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[5]), _r);
    3019            0 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 758, __FILE__, __LINE__, true);
    3020            0 :             return _r;
    3021              :           }
    3022              : next_after_fail966:;
    3023              :         }
    3024              :   }
    3025              :   return NULL_TREE;
    3026              : }
    3027              : 
    3028              : tree
    3029         5786 : generic_simplify_567 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3030              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
    3031              : {
    3032         5786 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3033        11572 :   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3034         5786 :  && TYPE_MAX_VALUE (TREE_TYPE (captures[1]))
    3035         5786 :  && types_match (TREE_TYPE (captures[1]), TREE_TYPE (TREE_TYPE (captures[0])))
    3036         8082 :  && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
    3037              : )
    3038              :     {
    3039         1904 :       if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3040              : )
    3041              :         {
    3042          929 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail978;
    3043          929 :           {
    3044          929 :             tree res_op0;
    3045          929 :             {
    3046          929 :               tree _o1[2], _r1;
    3047          929 :               _o1[0] = captures[1];
    3048          929 :               {
    3049          929 :                 tree _o2[2], _r2;
    3050          929 :                 _o2[0] =  TYPE_MAX_VALUE (TREE_TYPE (captures[1]));
    3051          929 :                 _o2[1] = captures[2];
    3052          929 :                 _r2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3053          929 :                 if (EXPR_P (_r2))
    3054            0 :                   goto next_after_fail978;
    3055          929 :                 _o1[1] = _r2;
    3056              :               }
    3057          929 :               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3058          929 :               res_op0 = _r1;
    3059              :             }
    3060          929 :             tree _r;
    3061          929 :             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3062          929 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 770, __FILE__, __LINE__, true);
    3063          929 :             return _r;
    3064              :           }
    3065              : next_after_fail978:;
    3066              :         }
    3067              :       else
    3068              :         {
    3069          975 :           if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
    3070              : )
    3071              :             {
    3072          975 :               if (!TYPE_UNSIGNED (TREE_TYPE (captures[2])) && integer_minus_onep (captures[2])
    3073              : )
    3074              :                 {
    3075           56 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail979;
    3076           56 :                   {
    3077           56 :                     tree res_op0;
    3078           56 :                     {
    3079           56 :                       tree _o1[2], _r1;
    3080           56 :                       _o1[0] = captures[1];
    3081           56 :                       _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
    3082           56 :                       _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3083           56 :                       res_op0 = _r1;
    3084              :                     }
    3085           56 :                     tree _r;
    3086           56 :                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3087           56 :                     if (TREE_SIDE_EFFECTS (captures[2]))
    3088            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
    3089           56 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 771, __FILE__, __LINE__, true);
    3090           56 :                     return _r;
    3091              :                   }
    3092            0 : next_after_fail979:;
    3093              :                 }
    3094              :               else
    3095              :                 {
    3096          919 :                   {
    3097          919 :  tree div = fold_convert (TREE_TYPE (captures[1]), captures[2]);
    3098         1838 :  tree lo = int_const_binop (TRUNC_DIV_EXPR,
    3099          919 :  TYPE_MIN_VALUE (TREE_TYPE (captures[1])), div);
    3100         1838 :  tree hi = int_const_binop (TRUNC_DIV_EXPR,
    3101          919 :  TYPE_MAX_VALUE (TREE_TYPE (captures[1])), div);
    3102          919 :  tree etype = range_check_type (TREE_TYPE (captures[1]));
    3103          919 :  if (etype)
    3104              :  {
    3105          919 :  if (wi::neg_p (wi::to_wide (div)))
    3106           88 :  std::swap (lo, hi);
    3107          919 :  lo = fold_convert (etype, lo);
    3108          919 :  hi = fold_convert (etype, hi);
    3109          919 :  hi = int_const_binop (MINUS_EXPR, hi, lo);
    3110              :  }
    3111          919 :                       if (etype
    3112              : )
    3113              :                         {
    3114          919 :                           if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail980;
    3115          919 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail980;
    3116          919 :                           {
    3117          919 :                             tree res_op0;
    3118          919 :                             {
    3119          919 :                               tree _o1[2], _r1;
    3120          919 :                               {
    3121          919 :                                 tree _o2[2], _r2;
    3122          919 :                                 {
    3123          919 :                                   tree _o3[1], _r3;
    3124          919 :                                   _o3[0] = captures[1];
    3125          919 :                                   if (TREE_TYPE (_o3[0]) != etype)
    3126              :                                     {
    3127          919 :                                       _r3 = fold_build1_loc (loc, NOP_EXPR, etype, _o3[0]);
    3128              :                                     }
    3129              :                                   else
    3130              :                                     _r3 = _o3[0];
    3131          919 :                                   _o2[0] = _r3;
    3132              :                                 }
    3133          919 :                                 _o2[1] =  lo;
    3134          919 :                                 _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    3135          919 :                                 _o1[0] = _r2;
    3136              :                               }
    3137          919 :                               _o1[1] =  hi;
    3138          919 :                               _r1 = fold_build2_loc (loc, GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3139          919 :                               res_op0 = _r1;
    3140              :                             }
    3141          919 :                             tree _r;
    3142          919 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3143          919 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
    3144          919 :                             return _r;
    3145              :                           }
    3146              : next_after_fail980:;
    3147              :                         }
    3148              :                   }
    3149              :                 }
    3150              :             }
    3151              :         }
    3152              :     }
    3153              :   return NULL_TREE;
    3154              : }
    3155              : 
    3156              : tree
    3157            0 : generic_simplify_608 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3158              :  tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
    3159              : {
    3160            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3161            0 :   if (canonicalize_math_after_vectorization_p ()
    3162              : )
    3163              :     {
    3164              :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1021;
    3165              :       {
    3166              :         tree res_op0;
    3167              :         res_op0 = captures[0];
    3168              :         tree res_op1;
    3169              :         res_op1 = captures[1];
    3170              :         tree res_op2;
    3171              :         res_op2 = captures[2];
    3172              :         tree _r;
    3173              :         _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
    3174              :         if (!_r)
    3175              :           goto next_after_fail1021;
    3176              :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 813, __FILE__, __LINE__, true);
    3177              :         return _r;
    3178              :       }
    3179            0 : next_after_fail1021:;
    3180              :     }
    3181            0 :   return NULL_TREE;
    3182              : }
    3183              : 
    3184              : tree
    3185            0 : generic_simplify_617 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3186              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3187              :  const combined_fn ARG_UNUSED (ctz))
    3188              : {
    3189            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3190            0 :   {
    3191            0 :  tree t = TREE_TYPE (captures[0]);
    3192            0 :       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1030;
    3193            0 :       {
    3194            0 :         tree res_op0;
    3195            0 :         {
    3196            0 :           tree _o1[1], _r1;
    3197            0 :           _o1[0] = captures[1];
    3198            0 :           if (TREE_TYPE (_o1[0]) != t)
    3199              :             {
    3200            0 :               _r1 = fold_build1_loc (loc, NOP_EXPR, t, _o1[0]);
    3201              :             }
    3202              :           else
    3203              :             _r1 = _o1[0];
    3204            0 :           res_op0 = _r1;
    3205              :         }
    3206            0 :         tree _r;
    3207            0 :         _r = maybe_build_call_expr_loc (loc, ctz, type, 1, res_op0);
    3208            0 :         if (!_r)
    3209            0 :           goto next_after_fail1030;
    3210            0 :         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
    3211              :         return _r;
    3212              :       }
    3213              : next_after_fail1030:;
    3214              :   }
    3215              :   return NULL_TREE;
    3216              : }
    3217              : 
    3218              : tree
    3219            0 : generic_simplify_626 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
    3220              :  tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
    3221              :  const combined_fn ARG_UNUSED (pfun))
    3222              : {
    3223            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3224            0 :   if (INTEGRAL_TYPE_P (type)
    3225              : )
    3226              :     {
    3227            0 :       {
    3228            0 :  wide_int nz = tree_nonzero_bits (captures[0]);
    3229            0 :           if (nz == 1
    3230              : )
    3231              :             {
    3232            0 :               if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1039;
    3233            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1039;
    3234            0 :               {
    3235            0 :                 tree res_op0;
    3236            0 :                 res_op0 = captures[0];
    3237            0 :                 tree _r;
    3238            0 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3239            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 826, __FILE__, __LINE__, true);
    3240            0 :                 return _r;
    3241              :               }
    3242            0 : next_after_fail1039:;
    3243              :             }
    3244              :           else
    3245              :             {
    3246            0 :               if (wi::popcount (nz) == 1
    3247              : )
    3248              :                 {
    3249            0 :                   {
    3250            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
    3251            0 :                       if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail1040;
    3252            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1040;
    3253            0 :                       {
    3254            0 :                         tree res_op0;
    3255            0 :                         {
    3256            0 :                           tree _o1[2], _r1;
    3257            0 :                           {
    3258            0 :                             tree _o2[1], _r2;
    3259            0 :                             _o2[0] = captures[0];
    3260            0 :                             if (TREE_TYPE (_o2[0]) != utype)
    3261              :                               {
    3262            0 :                                 _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
    3263              :                               }
    3264              :                             else
    3265              :                               _r2 = _o2[0];
    3266            0 :                             _o1[0] = _r2;
    3267              :                           }
    3268            0 :                           _o1[1] =  build_int_cst (integer_type_node,
    3269            0 :  wi::ctz (nz));
    3270            0 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, utype, _o1[0], _o1[1]);
    3271            0 :                           res_op0 = _r1;
    3272              :                         }
    3273            0 :                         tree _r;
    3274            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3275            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 827, __FILE__, __LINE__, true);
    3276            0 :                         return _r;
    3277              :                       }
    3278            0 : next_after_fail1040:;
    3279              :                   }
    3280              :                 }
    3281              :             }
    3282            0 :       }
    3283              :     }
    3284              :   return NULL_TREE;
    3285              : }
    3286              : 
    3287              : tree
    3288      2788568 : generic_simplify_BIT_NOT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
    3289              : {
    3290      2788568 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    3291      2788568 :   switch (TREE_CODE (_p0))
    3292              :     {
    3293         1134 :     case BIT_AND_EXPR:
    3294         1134 :       {
    3295         1134 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3296         1134 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3297         1134 :         switch (TREE_CODE (_q20))
    3298              :           {
    3299           33 :           case BIT_NOT_EXPR:
    3300           33 :             {
    3301           33 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3302           33 :               {
    3303           33 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3304           33 :                 tree res = generic_simplify_506 (loc, type, _p0, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
    3305           33 :                 if (res) return res;
    3306              :               }
    3307            0 :               break;
    3308              :             }
    3309         1101 :           default:;
    3310              :           }
    3311         1101 :         switch (TREE_CODE (_q21))
    3312              :           {
    3313            9 :           case BIT_NOT_EXPR:
    3314            9 :             {
    3315            9 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3316            9 :               {
    3317            9 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3318            9 :                 tree res = generic_simplify_506 (loc, type, _p0, captures, BIT_AND_EXPR, BIT_IOR_EXPR);
    3319            9 :                 if (res) return res;
    3320              :               }
    3321            0 :               break;
    3322              :             }
    3323              :           default:;
    3324              :           }
    3325              :         break;
    3326              :       }
    3327         1265 :     case BIT_IOR_EXPR:
    3328         1265 :       {
    3329         1265 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3330         1265 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3331         1265 :         switch (TREE_CODE (_q20))
    3332              :           {
    3333           68 :           case BIT_NOT_EXPR:
    3334           68 :             {
    3335           68 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3336           68 :               {
    3337           68 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3338           68 :                 tree res = generic_simplify_506 (loc, type, _p0, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
    3339           68 :                 if (res) return res;
    3340              :               }
    3341            0 :               break;
    3342              :             }
    3343         1197 :           default:;
    3344              :           }
    3345         1197 :         switch (TREE_CODE (_q21))
    3346              :           {
    3347           40 :           case BIT_NOT_EXPR:
    3348           40 :             {
    3349           40 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3350           40 :               {
    3351           40 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3352           40 :                 tree res = generic_simplify_506 (loc, type, _p0, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
    3353           40 :                 if (res) return res;
    3354              :               }
    3355            0 :               break;
    3356              :             }
    3357              :           default:;
    3358              :           }
    3359              :         break;
    3360              :       }
    3361          137 :     case MINUS_EXPR:
    3362          137 :       {
    3363          137 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3364          137 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3365          137 :         switch (TREE_CODE (_q20))
    3366              :           {
    3367            1 :           case BIT_NOT_EXPR:
    3368            1 :             {
    3369            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3370            1 :               {
    3371            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3372            1 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1080;
    3373            1 :                 {
    3374            1 :                   tree res_op0;
    3375            1 :                   res_op0 = captures[0];
    3376            1 :                   tree res_op1;
    3377            1 :                   res_op1 = captures[1];
    3378            1 :                   tree _r;
    3379            1 :                   _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3380            1 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
    3381            1 :                   return _r;
    3382              :                 }
    3383            0 : next_after_fail1080:;
    3384              :               }
    3385            0 :               break;
    3386              :             }
    3387          136 :           default:;
    3388              :           }
    3389          136 :         {
    3390          136 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3391          136 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1081;
    3392          136 :           {
    3393          136 :             tree res_op0;
    3394          136 :             {
    3395          136 :               tree _o1[1], _r1;
    3396          136 :               _o1[0] = captures[1];
    3397          136 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3398          136 :               res_op0 = _r1;
    3399              :             }
    3400          136 :             tree res_op1;
    3401          136 :             res_op1 = captures[2];
    3402          136 :             tree _r;
    3403          136 :             _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3404          136 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 859, __FILE__, __LINE__, true);
    3405          136 :             return _r;
    3406              :           }
    3407            0 : next_after_fail1081:;
    3408              :         }
    3409            0 :         if (integer_each_onep (_q21))
    3410              :           {
    3411            0 :             {
    3412            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3413            0 :               tree res = generic_simplify_507 (loc, type, _p0, captures);
    3414            0 :               if (res) return res;
    3415              :             }
    3416              :           }
    3417              :         break;
    3418              :       }
    3419       106095 :     case PLUS_EXPR:
    3420       106095 :       {
    3421       106095 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3422       106095 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3423       106095 :         switch (TREE_CODE (_q20))
    3424              :           {
    3425           16 :           case BIT_NOT_EXPR:
    3426           16 :             {
    3427           16 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3428           16 :               {
    3429           16 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3430           16 :                 tree res = generic_simplify_508 (loc, type, _p0, captures);
    3431           16 :                 if (res) return res;
    3432              :               }
    3433            0 :               break;
    3434              :             }
    3435       106079 :           default:;
    3436              :           }
    3437       106079 :         switch (TREE_CODE (_q21))
    3438              :           {
    3439            1 :           case BIT_NOT_EXPR:
    3440            1 :             {
    3441            1 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3442            1 :               {
    3443            1 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3444            1 :                 tree res = generic_simplify_508 (loc, type, _p0, captures);
    3445            1 :                 if (res) return res;
    3446              :               }
    3447            0 :               break;
    3448              :             }
    3449        79045 :           case INTEGER_CST:
    3450        79045 :             {
    3451        79045 :               {
    3452        79045 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3453        79045 :                 if ((INTEGRAL_TYPE_P (type)
    3454        79045 :  && TYPE_UNSIGNED (type))
    3455        93003 :  || (!TYPE_OVERFLOW_SANITIZED (type)
    3456        13950 :  && may_negate_without_overflow_p (captures[2]))
    3457              : )
    3458              :                   {
    3459        79030 :                     if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1082;
    3460        79030 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1082;
    3461        79030 :                     {
    3462        79030 :                       tree res_op0;
    3463        79030 :                       {
    3464        79030 :                         tree _o1[1], _r1;
    3465        79030 :                         _o1[0] = captures[1];
    3466        79030 :                         _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3467        79030 :                         res_op0 = _r1;
    3468              :                       }
    3469        79030 :                       tree res_op1;
    3470        79030 :                       res_op1 =  const_unop (NEGATE_EXPR, type, captures[2]);
    3471        79030 :                       tree _r;
    3472        79030 :                       _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
    3473        79030 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 860, __FILE__, __LINE__, true);
    3474        79030 :                       return _r;
    3475              :                     }
    3476           15 : next_after_fail1082:;
    3477              :                   }
    3478              :               }
    3479           15 :               break;
    3480              :             }
    3481        27048 :           default:;
    3482              :           }
    3483        27048 :       if (integer_all_onesp (_q21))
    3484              :         {
    3485            0 :           {
    3486            0 :             tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3487            0 :             tree res = generic_simplify_509 (loc, type, _p0, captures);
    3488            0 :             if (res) return res;
    3489              :           }
    3490              :         }
    3491              :         break;
    3492              :       }
    3493          430 :     case RSHIFT_EXPR:
    3494          430 :       {
    3495          430 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3496          430 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3497          430 :         {
    3498          430 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3499          430 :           if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
    3500              : )
    3501              :             {
    3502          295 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
    3503          295 :               {
    3504          295 :                 tree res_op0;
    3505          295 :                 {
    3506          295 :                   tree _o1[1], _r1;
    3507          295 :                   _o1[0] = captures[1];
    3508          295 :                   _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    3509          295 :                   if (EXPR_P (_r1))
    3510          289 :                     goto next_after_fail1083;
    3511            6 :                   res_op0 = _r1;
    3512              :                 }
    3513            6 :                 tree res_op1;
    3514            6 :                 res_op1 = captures[2];
    3515            6 :                 tree _r;
    3516            6 :                 _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
    3517            6 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 861, __FILE__, __LINE__, true);
    3518            6 :                 return _r;
    3519              :               }
    3520          409 : next_after_fail1083:;
    3521              :             }
    3522              :           else
    3523              :             {
    3524          270 :               if (INTEGRAL_TYPE_P (type)
    3525          270 :  && !wi::neg_p (tree_nonzero_bits (captures[1]))
    3526              : )
    3527              :                 {
    3528           15 :                   {
    3529           15 :  tree stype = signed_type_for (TREE_TYPE (captures[1]));
    3530           15 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
    3531           15 :                       {
    3532           15 :                         tree res_op0;
    3533           15 :                         {
    3534           15 :                           tree _o1[2], _r1;
    3535           15 :                           {
    3536           15 :                             tree _o2[1], _r2;
    3537           15 :                             {
    3538           15 :                               tree _o3[1], _r3;
    3539           15 :                               _o3[0] = captures[1];
    3540           15 :                               if (TREE_TYPE (_o3[0]) != stype)
    3541              :                                 {
    3542           15 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
    3543              :                                 }
    3544              :                               else
    3545              :                                 _r3 = _o3[0];
    3546           15 :                               _o2[0] = _r3;
    3547              :                             }
    3548           15 :                             _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    3549           15 :                             if (EXPR_P (_r2))
    3550            0 :                               goto next_after_fail1084;
    3551           15 :                             _o1[0] = _r2;
    3552              :                           }
    3553           15 :                           _o1[1] = captures[2];
    3554           15 :                           _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    3555           15 :                           res_op0 = _r1;
    3556              :                         }
    3557           15 :                         tree _r;
    3558           15 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3559           15 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 862, __FILE__, __LINE__, true);
    3560           15 :                         return _r;
    3561              :                       }
    3562          409 : next_after_fail1084:;
    3563              :                   }
    3564              :                 }
    3565              :             }
    3566              :         }
    3567          409 :         switch (TREE_CODE (_q20))
    3568              :           {
    3569           72 :           CASE_CONVERT:
    3570           72 :             {
    3571           72 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3572           72 :               switch (TREE_CODE (_q30))
    3573              :                 {
    3574            2 :                 case BIT_NOT_EXPR:
    3575            2 :                   {
    3576            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3577            2 :                     {
    3578            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    3579            2 :                       tree res = generic_simplify_510 (loc, type, _p0, captures);
    3580            2 :                       if (res) return res;
    3581              :                     }
    3582            1 :                     break;
    3583              :                   }
    3584              :                 default:;
    3585              :                 }
    3586              :               break;
    3587              :             }
    3588           29 :           case BIT_NOT_EXPR:
    3589           29 :             {
    3590           29 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3591           29 :               {
    3592           29 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    3593           29 :                 tree res = generic_simplify_510 (loc, type, _p0, captures);
    3594           29 :                 if (res) return res;
    3595              :               }
    3596            8 :               break;
    3597              :             }
    3598              :           default:;
    3599              :           }
    3600              :         break;
    3601              :       }
    3602           86 :     case BIT_NOT_EXPR:
    3603           86 :       {
    3604           86 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3605           86 :         {
    3606           86 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3607           86 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
    3608           86 :           {
    3609           86 :             tree res_op0;
    3610           86 :             res_op0 = captures[0];
    3611           86 :             tree _r;
    3612           86 :             _r = non_lvalue_loc (loc, res_op0);
    3613           86 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 863, __FILE__, __LINE__, true);
    3614      2788568 :             return _r;
    3615              :           }
    3616            0 : next_after_fail1085:;
    3617              :         }
    3618            0 :         break;
    3619              :       }
    3620      1136532 :     CASE_CONVERT:
    3621      1136532 :       {
    3622      1136532 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3623      1136532 :         switch (TREE_CODE (_q20))
    3624              :           {
    3625           25 :           case NEGATE_EXPR:
    3626           25 :             {
    3627           25 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3628           25 :               {
    3629           25 :                 tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3630           25 :                 tree res = generic_simplify_511 (loc, type, _p0, captures);
    3631           25 :                 if (res) return res;
    3632              :               }
    3633            0 :               break;
    3634              :             }
    3635          904 :           case MINUS_EXPR:
    3636          904 :             {
    3637          904 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3638          904 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3639          904 :               if (integer_each_onep (_q31))
    3640              :                 {
    3641           28 :                   {
    3642           28 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3643           28 :                     tree res = generic_simplify_507 (loc, type, _p0, captures);
    3644           28 :                     if (res) return res;
    3645              :                   }
    3646              :                 }
    3647              :               break;
    3648              :             }
    3649        56869 :           case PLUS_EXPR:
    3650        56869 :             {
    3651        56869 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3652        56869 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3653        56869 :               if (integer_all_onesp (_q31))
    3654              :                 {
    3655         3809 :                   {
    3656         3809 :                     tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    3657         3809 :                     tree res = generic_simplify_509 (loc, type, _p0, captures);
    3658         3809 :                     if (res) return res;
    3659              :                   }
    3660              :                 }
    3661              :               break;
    3662              :             }
    3663          145 :           case BIT_XOR_EXPR:
    3664          145 :             {
    3665          145 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3666          145 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3667          145 :               switch (TREE_CODE (_q31))
    3668              :                 {
    3669            7 :                 case INTEGER_CST:
    3670            7 :                   {
    3671            7 :                     {
    3672            7 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    3673            7 :                       tree res = generic_simplify_512 (loc, type, _p0, captures);
    3674            7 :                       if (res) return res;
    3675              :                     }
    3676            0 :                     break;
    3677              :                   }
    3678          138 :                 default:;
    3679              :                 }
    3680          138 :               switch (TREE_CODE (_q30))
    3681              :                 {
    3682            0 :                 case BIT_NOT_EXPR:
    3683            0 :                   {
    3684            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3685            0 :                     {
    3686            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
    3687            0 :                       tree res = generic_simplify_513 (loc, type, _p0, captures);
    3688            0 :                       if (res) return res;
    3689              :                     }
    3690            0 :                     break;
    3691              :                   }
    3692          138 :                 default:;
    3693              :                 }
    3694          138 :               switch (TREE_CODE (_q31))
    3695              :                 {
    3696            0 :                 case BIT_NOT_EXPR:
    3697            0 :                   {
    3698            0 :                     tree _q50 = TREE_OPERAND (_q31, 0);
    3699            0 :                     {
    3700            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
    3701            0 :                       tree res = generic_simplify_513 (loc, type, _p0, captures);
    3702            0 :                       if (res) return res;
    3703              :                     }
    3704            0 :                     break;
    3705              :                   }
    3706              :                 default:;
    3707              :                 }
    3708              :               break;
    3709              :             }
    3710           93 :           case RSHIFT_EXPR:
    3711           93 :             {
    3712           93 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3713           93 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3714           93 :               switch (TREE_CODE (_q30))
    3715              :                 {
    3716           17 :                 CASE_CONVERT:
    3717           17 :                   {
    3718           17 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3719           17 :                     switch (TREE_CODE (_q40))
    3720              :                       {
    3721            1 :                       case BIT_NOT_EXPR:
    3722            1 :                         {
    3723            1 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3724            1 :                           {
    3725            1 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3726            1 :                             tree res = generic_simplify_514 (loc, type, _p0, captures);
    3727            1 :                             if (res) return res;
    3728              :                           }
    3729            0 :                           break;
    3730              :                         }
    3731              :                       default:;
    3732              :                       }
    3733              :                     break;
    3734              :                   }
    3735            3 :                 case BIT_NOT_EXPR:
    3736            3 :                   {
    3737            3 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3738            3 :                     {
    3739            3 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3740            3 :                       tree res = generic_simplify_514 (loc, type, _p0, captures);
    3741            3 :                       if (res) return res;
    3742              :                     }
    3743            1 :                     break;
    3744              :                   }
    3745              :                 default:;
    3746              :                 }
    3747              :               break;
    3748              :             }
    3749            0 :           case LROTATE_EXPR:
    3750            0 :             {
    3751            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3752            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3753            0 :               switch (TREE_CODE (_q30))
    3754              :                 {
    3755            0 :                 CASE_CONVERT:
    3756            0 :                   {
    3757            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3758            0 :                     switch (TREE_CODE (_q40))
    3759              :                       {
    3760            0 :                       case BIT_NOT_EXPR:
    3761            0 :                         {
    3762            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3763            0 :                           {
    3764            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3765            0 :                             tree res = generic_simplify_515 (loc, type, _p0, captures, LROTATE_EXPR);
    3766            0 :                             if (res) return res;
    3767              :                           }
    3768            0 :                           break;
    3769              :                         }
    3770              :                       default:;
    3771              :                       }
    3772              :                     break;
    3773              :                   }
    3774            0 :                 case BIT_NOT_EXPR:
    3775            0 :                   {
    3776            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3777            0 :                     {
    3778            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3779            0 :                       tree res = generic_simplify_515 (loc, type, _p0, captures, LROTATE_EXPR);
    3780            0 :                       if (res) return res;
    3781              :                     }
    3782            0 :                     break;
    3783              :                   }
    3784              :                 default:;
    3785              :                 }
    3786              :               break;
    3787              :             }
    3788            0 :           case RROTATE_EXPR:
    3789            0 :             {
    3790            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3791            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    3792            0 :               switch (TREE_CODE (_q30))
    3793              :                 {
    3794            0 :                 CASE_CONVERT:
    3795            0 :                   {
    3796            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3797            0 :                     switch (TREE_CODE (_q40))
    3798              :                       {
    3799            0 :                       case BIT_NOT_EXPR:
    3800            0 :                         {
    3801            0 :                           tree _q50 = TREE_OPERAND (_q40, 0);
    3802            0 :                           {
    3803            0 :                             tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
    3804            0 :                             tree res = generic_simplify_515 (loc, type, _p0, captures, RROTATE_EXPR);
    3805            0 :                             if (res) return res;
    3806              :                           }
    3807            0 :                           break;
    3808              :                         }
    3809              :                       default:;
    3810              :                       }
    3811              :                     break;
    3812              :                   }
    3813            0 :                 case BIT_NOT_EXPR:
    3814            0 :                   {
    3815            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    3816            0 :                     {
    3817            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    3818            0 :                       tree res = generic_simplify_515 (loc, type, _p0, captures, RROTATE_EXPR);
    3819            0 :                       if (res) return res;
    3820              :                     }
    3821            0 :                     break;
    3822              :                   }
    3823              :                 default:;
    3824              :                 }
    3825              :               break;
    3826              :             }
    3827              :           default:;
    3828              :           }
    3829              :         break;
    3830              :       }
    3831          120 :     case NEGATE_EXPR:
    3832          120 :       {
    3833          120 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3834          120 :         {
    3835          120 :           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    3836          120 :           tree res = generic_simplify_511 (loc, type, _p0, captures);
    3837          120 :           if (res) return res;
    3838              :         }
    3839            0 :         break;
    3840              :       }
    3841         1579 :     case BIT_XOR_EXPR:
    3842         1579 :       {
    3843         1579 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3844         1579 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3845         1579 :         switch (TREE_CODE (_q21))
    3846              :           {
    3847           22 :           case INTEGER_CST:
    3848           22 :             {
    3849           22 :               {
    3850           22 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    3851           22 :                 tree res = generic_simplify_512 (loc, type, _p0, captures);
    3852           22 :                 if (res) return res;
    3853              :               }
    3854            0 :               break;
    3855              :             }
    3856         1557 :           default:;
    3857              :           }
    3858         1557 :         switch (TREE_CODE (_q20))
    3859              :           {
    3860            0 :           case BIT_NOT_EXPR:
    3861            0 :             {
    3862            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3863            0 :               {
    3864            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
    3865            0 :                 tree res = generic_simplify_513 (loc, type, _p0, captures);
    3866            0 :                 if (res) return res;
    3867              :               }
    3868            0 :               break;
    3869              :             }
    3870         1557 :           default:;
    3871              :           }
    3872         1557 :         switch (TREE_CODE (_q21))
    3873              :           {
    3874            0 :           case BIT_NOT_EXPR:
    3875            0 :             {
    3876            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3877            0 :               {
    3878            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
    3879            0 :                 tree res = generic_simplify_513 (loc, type, _p0, captures);
    3880            0 :                 if (res) return res;
    3881              :               }
    3882            0 :               break;
    3883              :             }
    3884         1557 :           default:;
    3885              :           }
    3886         1557 :         if (tree_truth_valued_p (_q20))
    3887              :           {
    3888           31 :             if (tree_truth_valued_p (_q21))
    3889              :               {
    3890            7 :                 {
    3891            7 :                   tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    3892           14 :                   if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
    3893           14 :  && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
    3894              : )
    3895              :                     {
    3896            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
    3897            0 :                       {
    3898            0 :                         tree res_op0;
    3899            0 :                         {
    3900            0 :                           tree _o1[2], _r1;
    3901            0 :                           _o1[0] = captures[1];
    3902            0 :                           _o1[1] = captures[2];
    3903            0 :                           _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    3904            0 :                           res_op0 = _r1;
    3905              :                         }
    3906            0 :                         tree _r;
    3907            0 :                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    3908            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
    3909            0 :                         return _r;
    3910              :                       }
    3911            0 : next_after_fail1086:;
    3912              :                     }
    3913              :                 }
    3914              :               }
    3915              :           }
    3916              :         break;
    3917              :       }
    3918            0 :     case MIN_EXPR:
    3919            0 :       {
    3920            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3921            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3922            0 :         switch (TREE_CODE (_q20))
    3923              :           {
    3924            0 :           case BIT_NOT_EXPR:
    3925            0 :             {
    3926            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3927            0 :               {
    3928            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3929            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3930            0 :                 if (res) return res;
    3931              :               }
    3932            0 :               break;
    3933              :             }
    3934            0 :           default:;
    3935              :           }
    3936            0 :         switch (TREE_CODE (_q21))
    3937              :           {
    3938            0 :           case BIT_NOT_EXPR:
    3939            0 :             {
    3940            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3941            0 :               {
    3942            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3943            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, MIN_EXPR, MAX_EXPR);
    3944            0 :                 if (res) return res;
    3945              :               }
    3946            0 :               break;
    3947              :             }
    3948              :           default:;
    3949              :           }
    3950              :         break;
    3951              :       }
    3952            0 :     case MAX_EXPR:
    3953            0 :       {
    3954            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3955            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3956            0 :         switch (TREE_CODE (_q20))
    3957              :           {
    3958            0 :           case BIT_NOT_EXPR:
    3959            0 :             {
    3960            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3961            0 :               {
    3962            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
    3963            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3964            0 :                 if (res) return res;
    3965              :               }
    3966            0 :               break;
    3967              :             }
    3968            0 :           default:;
    3969              :           }
    3970            0 :         switch (TREE_CODE (_q21))
    3971              :           {
    3972            0 :           case BIT_NOT_EXPR:
    3973            0 :             {
    3974            0 :               tree _q40 = TREE_OPERAND (_q21, 0);
    3975            0 :               {
    3976            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
    3977            0 :                 tree res = generic_simplify_516 (loc, type, _p0, captures, MAX_EXPR, MIN_EXPR);
    3978            0 :                 if (res) return res;
    3979              :               }
    3980            0 :               break;
    3981              :             }
    3982              :           default:;
    3983              :           }
    3984              :         break;
    3985              :       }
    3986            1 :     case LROTATE_EXPR:
    3987            1 :       {
    3988            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    3989            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    3990            1 :         switch (TREE_CODE (_q20))
    3991              :           {
    3992            0 :           CASE_CONVERT:
    3993            0 :             {
    3994            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    3995            0 :               switch (TREE_CODE (_q30))
    3996              :                 {
    3997            0 :                 case BIT_NOT_EXPR:
    3998            0 :                   {
    3999            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4000            0 :                     {
    4001            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    4002            0 :                       tree res = generic_simplify_517 (loc, type, _p0, captures, LROTATE_EXPR);
    4003            0 :                       if (res) return res;
    4004              :                     }
    4005            0 :                     break;
    4006              :                   }
    4007              :                 default:;
    4008              :                 }
    4009              :               break;
    4010              :             }
    4011            1 :           case BIT_NOT_EXPR:
    4012            1 :             {
    4013            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4014            1 :               {
    4015            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4016            1 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, LROTATE_EXPR);
    4017            1 :                 if (res) return res;
    4018              :               }
    4019            0 :               break;
    4020              :             }
    4021              :           default:;
    4022              :           }
    4023              :         break;
    4024              :       }
    4025            1 :     case RROTATE_EXPR:
    4026            1 :       {
    4027            1 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4028            1 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4029            1 :         switch (TREE_CODE (_q20))
    4030              :           {
    4031            0 :           CASE_CONVERT:
    4032            0 :             {
    4033            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4034            0 :               switch (TREE_CODE (_q30))
    4035              :                 {
    4036            0 :                 case BIT_NOT_EXPR:
    4037            0 :                   {
    4038            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    4039            0 :                     {
    4040            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
    4041            0 :                       tree res = generic_simplify_517 (loc, type, _p0, captures, RROTATE_EXPR);
    4042            0 :                       if (res) return res;
    4043              :                     }
    4044            0 :                     break;
    4045              :                   }
    4046              :                 default:;
    4047              :                 }
    4048              :               break;
    4049              :             }
    4050            1 :           case BIT_NOT_EXPR:
    4051            1 :             {
    4052            1 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4053            1 :               {
    4054            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
    4055            1 :                 tree res = generic_simplify_517 (loc, type, _p0, captures, RROTATE_EXPR);
    4056            1 :                 if (res) return res;
    4057              :               }
    4058            0 :               break;
    4059              :             }
    4060              :           default:;
    4061              :           }
    4062              :         break;
    4063              :       }
    4064           32 :     case VEC_COND_EXPR:
    4065           32 :       {
    4066           32 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4067           32 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4068           32 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4069           32 :         {
    4070           32 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
    4071           32 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
    4072           32 :           {
    4073           32 :             tree res_op0;
    4074           32 :             res_op0 = captures[1];
    4075           32 :             tree res_op1;
    4076           32 :             {
    4077           32 :               tree _o1[1], _r1;
    4078           32 :               _o1[0] = captures[2];
    4079           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4080           32 :               if (EXPR_P (_r1))
    4081            0 :                 goto next_after_fail1087;
    4082           32 :               res_op1 = _r1;
    4083              :             }
    4084           32 :             tree res_op2;
    4085           32 :             {
    4086           32 :               tree _o1[1], _r1;
    4087           32 :               _o1[0] = captures[3];
    4088           32 :               _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, type, _o1[0]);
    4089           32 :               if (EXPR_P (_r1))
    4090            0 :                 goto next_after_fail1087;
    4091           32 :               res_op2 = _r1;
    4092              :             }
    4093           32 :             tree _r;
    4094           32 :             _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4095           32 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 840, __FILE__, __LINE__, true);
    4096           32 :             return _r;
    4097              :           }
    4098            0 : next_after_fail1087:;
    4099              :         }
    4100            0 :         break;
    4101              :       }
    4102            4 :     case LT_EXPR:
    4103            4 :       {
    4104            4 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4105            4 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4106            4 :         {
    4107            4 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4108            4 :           tree res = generic_simplify_518 (loc, type, _p0, captures, LT_EXPR, GE_EXPR, UNGE_EXPR);
    4109            4 :           if (res) return res;
    4110              :         }
    4111            4 :         break;
    4112              :       }
    4113            8 :     case LE_EXPR:
    4114            8 :       {
    4115            8 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4116            8 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4117            8 :         {
    4118            8 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4119            8 :           tree res = generic_simplify_518 (loc, type, _p0, captures, LE_EXPR, GT_EXPR, UNGT_EXPR);
    4120            8 :           if (res) return res;
    4121              :         }
    4122            8 :         break;
    4123              :       }
    4124           63 :     case EQ_EXPR:
    4125           63 :       {
    4126           63 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4127           63 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4128           63 :         {
    4129           63 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4130           63 :           tree res = generic_simplify_518 (loc, type, _p0, captures, EQ_EXPR, NE_EXPR, NE_EXPR);
    4131           63 :           if (res) return res;
    4132              :         }
    4133           56 :         break;
    4134              :       }
    4135          112 :     case NE_EXPR:
    4136          112 :       {
    4137          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4138          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4139          112 :         {
    4140          112 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4141          112 :           tree res = generic_simplify_518 (loc, type, _p0, captures, NE_EXPR, EQ_EXPR, EQ_EXPR);
    4142          112 :           if (res) return res;
    4143              :         }
    4144          107 :         break;
    4145              :       }
    4146            0 :     case GE_EXPR:
    4147            0 :       {
    4148            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4149            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4150            0 :         {
    4151            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4152            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, GE_EXPR, LT_EXPR, UNLT_EXPR);
    4153            0 :           if (res) return res;
    4154              :         }
    4155            0 :         break;
    4156              :       }
    4157           66 :     case GT_EXPR:
    4158           66 :       {
    4159           66 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4160           66 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4161           66 :         {
    4162           66 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4163           66 :           tree res = generic_simplify_518 (loc, type, _p0, captures, GT_EXPR, LE_EXPR, UNLE_EXPR);
    4164           66 :           if (res) return res;
    4165              :         }
    4166           66 :         break;
    4167              :       }
    4168            0 :     case UNORDERED_EXPR:
    4169            0 :       {
    4170            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4171            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4172            0 :         {
    4173            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4174            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR);
    4175            0 :           if (res) return res;
    4176              :         }
    4177            0 :         break;
    4178              :       }
    4179            0 :     case ORDERED_EXPR:
    4180            0 :       {
    4181            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4182            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4183            0 :         {
    4184            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4185            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR);
    4186            0 :           if (res) return res;
    4187              :         }
    4188            0 :         break;
    4189              :       }
    4190            0 :     case UNLT_EXPR:
    4191            0 :       {
    4192            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4193            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4194            0 :         {
    4195            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4196            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNLT_EXPR, GE_EXPR, GE_EXPR);
    4197            0 :           if (res) return res;
    4198              :         }
    4199            0 :         break;
    4200              :       }
    4201            0 :     case UNLE_EXPR:
    4202            0 :       {
    4203            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4204            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4205            0 :         {
    4206            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4207            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNLE_EXPR, GT_EXPR, GT_EXPR);
    4208            0 :           if (res) return res;
    4209              :         }
    4210            0 :         break;
    4211              :       }
    4212            0 :     case UNGT_EXPR:
    4213            0 :       {
    4214            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4215            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4216            0 :         {
    4217            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4218            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNGT_EXPR, LE_EXPR, LE_EXPR);
    4219            0 :           if (res) return res;
    4220              :         }
    4221            0 :         break;
    4222              :       }
    4223            0 :     case UNGE_EXPR:
    4224            0 :       {
    4225            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4226            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4227            0 :         {
    4228            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4229            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNGE_EXPR, LT_EXPR, LT_EXPR);
    4230            0 :           if (res) return res;
    4231              :         }
    4232            0 :         break;
    4233              :       }
    4234            0 :     case UNEQ_EXPR:
    4235            0 :       {
    4236            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4237            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4238            0 :         {
    4239            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4240            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR);
    4241            0 :           if (res) return res;
    4242              :         }
    4243            0 :         break;
    4244              :       }
    4245            0 :     case LTGT_EXPR:
    4246            0 :       {
    4247            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4248            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4249            0 :         {
    4250            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4251            0 :           tree res = generic_simplify_518 (loc, type, _p0, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR);
    4252            0 :           if (res) return res;
    4253              :         }
    4254            0 :         break;
    4255              :       }
    4256              :     default:;
    4257              :     }
    4258              :   return NULL_TREE;
    4259              : }
    4260              : 
    4261              : tree
    4262      2159310 : 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)
    4263              : {
    4264      2159310 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4265      2159310 :   if (integer_onep (_p1))
    4266              :     {
    4267        22415 :       {
    4268        22415 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4269        22415 :         tree res = generic_simplify_187 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4270        22415 :         if (res) return res;
    4271              :       }
    4272              :     }
    4273      2136895 :   switch (TREE_CODE (_p0))
    4274              :     {
    4275       165115 :     CASE_CONVERT:
    4276       165115 :       {
    4277       165115 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4278       165115 :         switch (TREE_CODE (_p1))
    4279              :           {
    4280        38261 :           CASE_CONVERT:
    4281        38261 :             {
    4282        38261 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4283        38261 :               switch (TREE_CODE (_q40))
    4284              :                 {
    4285            0 :                 case LSHIFT_EXPR:
    4286            0 :                   {
    4287            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    4288            0 :                     tree _q51 = TREE_OPERAND (_q40, 1);
    4289            0 :                     if (integer_onep (_q50))
    4290              :                       {
    4291            0 :                         {
    4292            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
    4293            0 :                           tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4294            0 :                           if (res) return res;
    4295              :                         }
    4296              :                       }
    4297              :                     break;
    4298              :                   }
    4299              :                 default:;
    4300              :                 }
    4301              :               break;
    4302              :             }
    4303            8 :           case LSHIFT_EXPR:
    4304            8 :             {
    4305            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    4306            8 :               tree _q41 = TREE_OPERAND (_p1, 1);
    4307            8 :               if (integer_onep (_q40))
    4308              :                 {
    4309            7 :                   {
    4310            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
    4311            7 :                     tree res = generic_simplify_315 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4312            7 :                     if (res) return res;
    4313              :                   }
    4314              :                 }
    4315              :               break;
    4316              :             }
    4317              :           default:;
    4318              :           }
    4319              :         break;
    4320              :       }
    4321      2136895 :     default:;
    4322              :     }
    4323      2136895 :   switch (TREE_CODE (_p1))
    4324              :     {
    4325       136476 :     CASE_CONVERT:
    4326       136476 :       {
    4327       136476 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4328       136476 :         switch (TREE_CODE (_q30))
    4329              :           {
    4330            7 :           case LSHIFT_EXPR:
    4331            7 :             {
    4332            7 :               tree _q40 = TREE_OPERAND (_q30, 0);
    4333            7 :               tree _q41 = TREE_OPERAND (_q30, 1);
    4334            7 :               if (integer_onep (_q40))
    4335              :                 {
    4336            7 :                   {
    4337            7 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
    4338            7 :                     tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4339            7 :                     if (res) return res;
    4340              :                   }
    4341              :                 }
    4342              :               break;
    4343              :             }
    4344              :           default:;
    4345              :           }
    4346              :         break;
    4347              :       }
    4348           33 :     case LSHIFT_EXPR:
    4349           33 :       {
    4350           33 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4351           33 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4352           33 :         if (integer_onep (_q30))
    4353              :           {
    4354           16 :             {
    4355           16 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
    4356           16 :               tree res = generic_simplify_316 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4357           16 :               if (res) return res;
    4358              :             }
    4359              :           }
    4360              :         break;
    4361              :       }
    4362      2136886 :     default:;
    4363              :     }
    4364      2136886 :   if (integer_zerop (_p0))
    4365              :     {
    4366         2234 :       {
    4367         2234 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4368         2234 :         tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4369         2234 :         if (res) return res;
    4370              :       }
    4371              :     }
    4372      2135153 :   switch (TREE_CODE (_p1))
    4373              :     {
    4374        13450 :     case SSA_NAME:
    4375        13450 :       {
    4376        13450 :         {
    4377        13450 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4378        13450 :           tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4379        13450 :           if (res) return res;
    4380              :         }
    4381        13450 :         break;
    4382              :       }
    4383      2135153 :     default:;
    4384              :     }
    4385      2135153 : if (integer_minus_onep (_p1))
    4386              :   {
    4387         2520 :     {
    4388         2520 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4389         2520 :       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4390         2520 :       if (res) return res;
    4391              :     }
    4392              :   }
    4393      2133531 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4394              :     {
    4395          768 :       {
    4396          768 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4397          768 :         tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4398          768 :         if (res) return res;
    4399              :       }
    4400              :     }
    4401      2133420 :   switch (TREE_CODE (_p1))
    4402              :     {
    4403            1 :     case ABS_EXPR:
    4404            1 :       {
    4405            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4406            1 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4407              :           {
    4408            1 :             {
    4409            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4410            1 :               tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4411            1 :               if (res) return res;
    4412              :             }
    4413              :           }
    4414              :         break;
    4415              :       }
    4416      2133419 :     default:;
    4417              :     }
    4418      2133419 :   switch (TREE_CODE (_p0))
    4419              :     {
    4420            0 :     case ABS_EXPR:
    4421            0 :       {
    4422            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4423            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4424              :           {
    4425            0 :             {
    4426            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4427            0 :               tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4428            0 :               if (res) return res;
    4429              :             }
    4430              :           }
    4431              :         break;
    4432              :       }
    4433      2133419 :     default:;
    4434              :     }
    4435      2133419 :   switch (TREE_CODE (_p1))
    4436              :     {
    4437          658 :     case NEGATE_EXPR:
    4438          658 :       {
    4439          658 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4440          658 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4441              :           {
    4442            1 :             {
    4443            1 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4444            1 :               tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4445            1 :               if (res) return res;
    4446              :             }
    4447              :           }
    4448              :         break;
    4449              :       }
    4450      2133418 :     default:;
    4451              :     }
    4452      2133418 :   switch (TREE_CODE (_p0))
    4453              :     {
    4454          374 :     case NEGATE_EXPR:
    4455          374 :       {
    4456          374 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4457          374 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4458              :           {
    4459            0 :             {
    4460            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4461            0 :               tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4462            0 :               if (res) return res;
    4463              :             }
    4464              :           }
    4465              :         break;
    4466              :       }
    4467         9432 :     case TRUNC_DIV_EXPR:
    4468         9432 :       {
    4469         9432 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4470         9432 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4471         9432 :         switch (TREE_CODE (_q21))
    4472              :           {
    4473         9343 :           case INTEGER_CST:
    4474         9343 :             {
    4475         9343 :               switch (TREE_CODE (_p1))
    4476              :                 {
    4477         9342 :                 case INTEGER_CST:
    4478         9342 :                   {
    4479         9342 :                     {
    4480         9342 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    4481         9342 :                       tree res = generic_simplify_323 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4482         9342 :                       if (res) return res;
    4483              :                     }
    4484         9342 :                     break;
    4485              :                   }
    4486              :                 default:;
    4487              :                 }
    4488              :               break;
    4489              :             }
    4490              :           default:;
    4491              :           }
    4492              :         break;
    4493              :       }
    4494       165074 :     CASE_CONVERT:
    4495       165074 :       {
    4496       165074 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4497       165074 :         switch (TREE_CODE (_q20))
    4498              :           {
    4499            0 :           case BIT_AND_EXPR:
    4500            0 :             {
    4501            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4502            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4503            0 :               switch (TREE_CODE (_q31))
    4504              :                 {
    4505            0 :                 case INTEGER_CST:
    4506            0 :                   {
    4507            0 :                     switch (TREE_CODE (_p1))
    4508              :                       {
    4509            0 :                       case INTEGER_CST:
    4510            0 :                         {
    4511            0 :                           {
    4512            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    4513            0 :                             tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4514            0 :                             if (res) return res;
    4515              :                           }
    4516            0 :                           break;
    4517              :                         }
    4518              :                       default:;
    4519              :                       }
    4520              :                     break;
    4521              :                   }
    4522              :                 default:;
    4523              :                 }
    4524              :               break;
    4525              :             }
    4526              :           default:;
    4527              :           }
    4528              :         break;
    4529              :       }
    4530        46847 :     case BIT_AND_EXPR:
    4531        46847 :       {
    4532        46847 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4533        46847 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4534        46847 :         switch (TREE_CODE (_q21))
    4535              :           {
    4536        46821 :           case INTEGER_CST:
    4537        46821 :             {
    4538        46821 :               switch (TREE_CODE (_p1))
    4539              :                 {
    4540        46817 :                 case INTEGER_CST:
    4541        46817 :                   {
    4542        46817 :                     {
    4543        46817 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    4544        46817 :                       tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4545        46817 :                       if (res) return res;
    4546              :                     }
    4547        46816 :                     break;
    4548              :                   }
    4549              :                 default:;
    4550              :                 }
    4551              :               break;
    4552              :             }
    4553              :           default:;
    4554              :           }
    4555              :         break;
    4556              :       }
    4557        41657 :     case MULT_EXPR:
    4558        41657 :       {
    4559        41657 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4560        41657 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4561        41657 :         if (integer_pow2p (_q21))
    4562              :           {
    4563         7671 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4564              :               {
    4565         7131 :                 {
    4566         7131 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    4567         7131 :                   tree res = generic_simplify_325 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4568         7131 :                   if (res) return res;
    4569              :                 }
    4570              :               }
    4571              :           }
    4572        34667 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    4573              :           {
    4574          163 :             {
    4575          163 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    4576          163 :               tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4577          163 :               if (res) return res;
    4578              :             }
    4579              :           }
    4580        34519 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4581              :           {
    4582           22 :             {
    4583           22 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    4584           22 :               tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4585           22 :               if (res) return res;
    4586              :             }
    4587              :           }
    4588        34510 :         switch (TREE_CODE (_q21))
    4589              :           {
    4590        34178 :           case INTEGER_CST:
    4591        34178 :             {
    4592        34178 :               switch (TREE_CODE (_p1))
    4593              :                 {
    4594            3 :                 case MULT_EXPR:
    4595            3 :                   {
    4596            3 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    4597            3 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    4598            3 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    4599              :                       {
    4600            3 :                         switch (TREE_CODE (_q51))
    4601              :                           {
    4602            3 :                           case INTEGER_CST:
    4603            3 :                             {
    4604            3 :                               {
    4605            3 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    4606            3 :                                 tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, TRUNC_DIV_EXPR);
    4607            3 :                                 if (res) return res;
    4608              :                               }
    4609            0 :                               break;
    4610              :                             }
    4611              :                           default:;
    4612              :                           }
    4613              :                       }
    4614              :                     break;
    4615              :                   }
    4616              :                 default:;
    4617              :                 }
    4618              :               break;
    4619              :             }
    4620              :           default:;
    4621              :           }
    4622              :         break;
    4623              :       }
    4624            0 :     case VEC_COND_EXPR:
    4625            0 :       {
    4626            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4627            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    4628            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    4629            0 :         switch (TREE_CODE (_p1))
    4630              :           {
    4631            0 :           case VEC_COND_EXPR:
    4632            0 :             {
    4633            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    4634            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    4635            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    4636            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    4637              :                 {
    4638            0 :                   {
    4639            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    4640            0 :                     if (VECTOR_TYPE_P (type)
    4641            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4642              :  || types_match (type, TREE_TYPE (captures[2]))
    4643              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4644              :  || (optimize_vectors_before_lowering_p ()
    4645              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4646              : )
    4647              :                       {
    4648            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
    4649            0 :                         {
    4650            0 :                           tree res_op0;
    4651            0 :                           res_op0 = captures[1];
    4652            0 :                           tree res_op1;
    4653            0 :                           {
    4654            0 :                             tree _o1[2], _r1;
    4655            0 :                             _o1[0] = captures[2];
    4656            0 :                             _o1[1] = captures[5];
    4657            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4658            0 :                             if (EXPR_P (_r1))
    4659            0 :                               goto next_after_fail1603;
    4660            0 :                             res_op1 = _r1;
    4661              :                           }
    4662            0 :                           tree res_op2;
    4663            0 :                           {
    4664            0 :                             tree _o1[2], _r1;
    4665            0 :                             _o1[0] = captures[3];
    4666            0 :                             _o1[1] = captures[6];
    4667            0 :                             _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4668            0 :                             if (EXPR_P (_r1))
    4669            0 :                               goto next_after_fail1603;
    4670            0 :                             res_op2 = _r1;
    4671              :                           }
    4672            0 :                           tree _r;
    4673            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4674            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    4675            0 :                           return _r;
    4676              :                         }
    4677            0 : next_after_fail1603:;
    4678              :                       }
    4679              :                   }
    4680              :                 }
    4681              :               break;
    4682              :             }
    4683            0 :           default:;
    4684              :           }
    4685            0 :         {
    4686            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    4687            0 :           if (VECTOR_TYPE_P (type)
    4688            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4689              :  || types_match (type, TREE_TYPE (captures[2]))
    4690              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    4691              :  || (optimize_vectors_before_lowering_p ()
    4692              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    4693              : )
    4694              :             {
    4695            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1604;
    4696            0 :               {
    4697            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1604;
    4698            0 :                 tree res_op0;
    4699            0 :                 res_op0 = captures[1];
    4700            0 :                 tree res_op1;
    4701            0 :                 {
    4702            0 :                   tree _o1[2], _r1;
    4703            0 :                   _o1[0] = captures[2];
    4704            0 :                   _o1[1] = unshare_expr (captures[4]);
    4705            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4706            0 :                   if (EXPR_P (_r1))
    4707            0 :                     goto next_after_fail1604;
    4708            0 :                   res_op1 = _r1;
    4709              :                 }
    4710            0 :                 tree res_op2;
    4711            0 :                 {
    4712            0 :                   tree _o1[2], _r1;
    4713            0 :                   _o1[0] = captures[3];
    4714            0 :                   _o1[1] = captures[4];
    4715            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4716            0 :                   if (EXPR_P (_r1))
    4717            0 :                     goto next_after_fail1604;
    4718            0 :                   res_op2 = _r1;
    4719              :                 }
    4720            0 :                 tree _r;
    4721            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4722            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    4723            0 :                 return _r;
    4724              :               }
    4725            0 : next_after_fail1604:;
    4726              :             }
    4727              :         }
    4728            0 :         break;
    4729              :       }
    4730      2126267 :     default:;
    4731              :     }
    4732      2126267 : if (integer_onep (_p0))
    4733              :   {
    4734         1186 :     {
    4735         1186 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4736         1186 :       if (INTEGRAL_TYPE_P (type)
    4737         1183 :  && TYPE_PRECISION (type) > 1
    4738         1183 :  && !integer_zerop (captures[1])
    4739         1665 :  && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[1]))
    4740              : )
    4741              :         {
    4742          422 :           if (TYPE_UNSIGNED (type)
    4743              : )
    4744              :             {
    4745           54 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1605;
    4746           54 :               {
    4747           54 :                 tree res_op0;
    4748           54 :                 {
    4749           54 :                   tree _o1[2], _r1;
    4750           54 :                   _o1[0] = captures[1];
    4751           54 :                   _o1[1] = captures[0];
    4752           54 :                   _r1 = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4753           54 :                   res_op0 = _r1;
    4754              :                 }
    4755           54 :                 tree _r;
    4756           54 :                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
    4757           54 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1000, __FILE__, __LINE__, true);
    4758           54 :                 return _r;
    4759              :               }
    4760            0 : next_after_fail1605:;
    4761              :             }
    4762              :           else
    4763              :             {
    4764          368 :               if (fold_before_rtl_expansion_p ()
    4765              : )
    4766              :                 {
    4767            0 :                   {
    4768            0 :  tree utype = unsigned_type_for (type);
    4769            0 :                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
    4770            0 :                       {
    4771            0 :                         if (! tree_invariant_p (captures[1])) goto next_after_fail1606;
    4772            0 :                         tree res_op0;
    4773            0 :                         {
    4774            0 :                           tree _o1[2], _r1;
    4775            0 :                           {
    4776            0 :                             tree _o2[2], _r2;
    4777            0 :                             {
    4778            0 :                               tree _o3[1], _r3;
    4779            0 :                               _o3[0] = unshare_expr (captures[1]);
    4780            0 :                               if (TREE_TYPE (_o3[0]) != utype)
    4781              :                                 {
    4782            0 :                                   _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
    4783              :                                 }
    4784              :                               else
    4785              :                                 _r3 = _o3[0];
    4786            0 :                               _o2[0] = _r3;
    4787              :                             }
    4788            0 :                             _o2[1] =  build_one_cst (utype);
    4789            0 :                             _r2 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    4790            0 :                             _o1[0] = _r2;
    4791              :                           }
    4792            0 :                           _o1[1] =  build_int_cst (utype, 2);
    4793            0 :                           _r1 = fold_build2_loc (loc, LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
    4794            0 :                           res_op0 = _r1;
    4795              :                         }
    4796            0 :                         tree res_op1;
    4797            0 :                         res_op1 = captures[1];
    4798            0 :                         tree res_op2;
    4799            0 :                         res_op2 =  build_zero_cst (type);
    4800            0 :                         tree _r;
    4801            0 :                         _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
    4802            0 :                         if (TREE_SIDE_EFFECTS (captures[0]))
    4803            0 :                           _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    4804            0 :                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1001, __FILE__, __LINE__, true);
    4805            0 :                         return _r;
    4806              :                       }
    4807         1132 : next_after_fail1606:;
    4808              :                   }
    4809              :                 }
    4810              :             }
    4811              :         }
    4812              :     }
    4813              :   }
    4814      2126213 :   switch (TREE_CODE (_p1))
    4815              :     {
    4816            0 :     case VEC_COND_EXPR:
    4817            0 :       {
    4818            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4819            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    4820            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    4821            0 :         {
    4822            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    4823            0 :           if (VECTOR_TYPE_P (type)
    4824            0 :  && (TREE_CODE_CLASS (TRUNC_DIV_EXPR) != tcc_comparison
    4825              :  || types_match (type, TREE_TYPE (captures[3]))
    4826              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    4827              :  || (optimize_vectors_before_lowering_p ()
    4828              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    4829              : )
    4830              :             {
    4831            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
    4832            0 :               {
    4833            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1607;
    4834            0 :                 tree res_op0;
    4835            0 :                 res_op0 = captures[2];
    4836            0 :                 tree res_op1;
    4837            0 :                 {
    4838            0 :                   tree _o1[2], _r1;
    4839            0 :                   _o1[0] = unshare_expr (captures[0]);
    4840            0 :                   _o1[1] = captures[3];
    4841            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4842            0 :                   if (EXPR_P (_r1))
    4843            0 :                     goto next_after_fail1607;
    4844            0 :                   res_op1 = _r1;
    4845              :                 }
    4846            0 :                 tree res_op2;
    4847            0 :                 {
    4848            0 :                   tree _o1[2], _r1;
    4849            0 :                   _o1[0] = captures[0];
    4850            0 :                   _o1[1] = captures[4];
    4851            0 :                   _r1 = fold_build2_loc (loc, TRUNC_DIV_EXPR, type, _o1[0], _o1[1]);
    4852            0 :                   if (EXPR_P (_r1))
    4853            0 :                     goto next_after_fail1607;
    4854            0 :                   res_op2 = _r1;
    4855              :                 }
    4856            0 :                 tree _r;
    4857            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    4858            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    4859            0 :                 return _r;
    4860              :               }
    4861            0 : next_after_fail1607:;
    4862              :             }
    4863              :         }
    4864            0 :         break;
    4865              :       }
    4866              :     default:;
    4867              :     }
    4868              :   return NULL_TREE;
    4869              : }
    4870              : 
    4871              : tree
    4872            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)
    4873              : {
    4874            0 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    4875            0 :   if (integer_onep (_p1))
    4876              :     {
    4877            0 :       {
    4878            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4879            0 :         tree res = generic_simplify_187 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4880            0 :         if (res) return res;
    4881              :       }
    4882              :     }
    4883            0 :   if (integer_zerop (_p0))
    4884              :     {
    4885            0 :       {
    4886            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4887            0 :         tree res = generic_simplify_317 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4888            0 :         if (res) return res;
    4889              :       }
    4890              :     }
    4891            0 :   switch (TREE_CODE (_p1))
    4892              :     {
    4893            0 :     case SSA_NAME:
    4894            0 :       {
    4895            0 :         {
    4896            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4897            0 :           tree res = generic_simplify_319 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4898            0 :           if (res) return res;
    4899              :         }
    4900            0 :         break;
    4901              :       }
    4902            0 :     default:;
    4903              :     }
    4904            0 : if (integer_minus_onep (_p1))
    4905              :   {
    4906            0 :     {
    4907            0 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    4908            0 :       tree res = generic_simplify_318 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4909            0 :       if (res) return res;
    4910              :     }
    4911              :   }
    4912            0 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    4913              :     {
    4914            0 :       {
    4915            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4916            0 :         tree res = generic_simplify_320 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4917            0 :         if (res) return res;
    4918              :       }
    4919              :     }
    4920            0 :   switch (TREE_CODE (_p1))
    4921              :     {
    4922            0 :     case ABS_EXPR:
    4923            0 :       {
    4924            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4925            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4926              :           {
    4927            0 :             {
    4928            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4929            0 :               tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4930            0 :               if (res) return res;
    4931              :             }
    4932              :           }
    4933              :         break;
    4934              :       }
    4935            0 :     default:;
    4936              :     }
    4937            0 :   switch (TREE_CODE (_p0))
    4938              :     {
    4939            0 :     case ABS_EXPR:
    4940            0 :       {
    4941            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4942            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4943              :           {
    4944            0 :             {
    4945            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4946            0 :               tree res = generic_simplify_321 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4947            0 :               if (res) return res;
    4948              :             }
    4949              :           }
    4950              :         break;
    4951              :       }
    4952            0 :     default:;
    4953              :     }
    4954            0 :   switch (TREE_CODE (_p1))
    4955              :     {
    4956            0 :     case NEGATE_EXPR:
    4957            0 :       {
    4958            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    4959            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    4960              :           {
    4961            0 :             {
    4962            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    4963            0 :               tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4964            0 :               if (res) return res;
    4965              :             }
    4966              :           }
    4967              :         break;
    4968              :       }
    4969            0 :     default:;
    4970              :     }
    4971            0 :   switch (TREE_CODE (_p0))
    4972              :     {
    4973            0 :     case NEGATE_EXPR:
    4974            0 :       {
    4975            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4976            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    4977              :           {
    4978            0 :             {
    4979            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    4980            0 :               tree res = generic_simplify_322 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    4981            0 :               if (res) return res;
    4982              :             }
    4983              :           }
    4984              :         break;
    4985              :       }
    4986            0 :     CASE_CONVERT:
    4987            0 :       {
    4988            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    4989            0 :         switch (TREE_CODE (_q20))
    4990              :           {
    4991            0 :           case BIT_AND_EXPR:
    4992            0 :             {
    4993            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    4994            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    4995            0 :               switch (TREE_CODE (_q31))
    4996              :                 {
    4997            0 :                 case INTEGER_CST:
    4998            0 :                   {
    4999            0 :                     switch (TREE_CODE (_p1))
    5000              :                       {
    5001            0 :                       case INTEGER_CST:
    5002            0 :                         {
    5003            0 :                           {
    5004            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    5005            0 :                             tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5006            0 :                             if (res) return res;
    5007              :                           }
    5008            0 :                           break;
    5009              :                         }
    5010              :                       default:;
    5011              :                       }
    5012              :                     break;
    5013              :                   }
    5014              :                 default:;
    5015              :                 }
    5016              :               break;
    5017              :             }
    5018              :           default:;
    5019              :           }
    5020              :         break;
    5021              :       }
    5022            0 :     case BIT_AND_EXPR:
    5023            0 :       {
    5024            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5025            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5026            0 :         switch (TREE_CODE (_q21))
    5027              :           {
    5028            0 :           case INTEGER_CST:
    5029            0 :             {
    5030            0 :               switch (TREE_CODE (_p1))
    5031              :                 {
    5032            0 :                 case INTEGER_CST:
    5033            0 :                   {
    5034            0 :                     {
    5035            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    5036            0 :                       tree res = generic_simplify_324 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5037            0 :                       if (res) return res;
    5038              :                     }
    5039            0 :                     break;
    5040              :                   }
    5041              :                 default:;
    5042              :                 }
    5043              :               break;
    5044              :             }
    5045              :           default:;
    5046              :           }
    5047              :         break;
    5048              :       }
    5049            0 :     case MULT_EXPR:
    5050            0 :       {
    5051            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5052            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5053            0 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    5054              :           {
    5055            0 :             {
    5056            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    5057            0 :               tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5058            0 :               if (res) return res;
    5059              :             }
    5060              :           }
    5061            0 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5062              :           {
    5063            0 :             {
    5064            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    5065            0 :               tree res = generic_simplify_326 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5066            0 :               if (res) return res;
    5067              :             }
    5068              :           }
    5069            0 :         switch (TREE_CODE (_q21))
    5070              :           {
    5071            0 :           case INTEGER_CST:
    5072            0 :             {
    5073            0 :               switch (TREE_CODE (_p1))
    5074              :                 {
    5075            0 :                 case MULT_EXPR:
    5076            0 :                   {
    5077            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5078            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    5079            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5080              :                       {
    5081            0 :                         switch (TREE_CODE (_q51))
    5082              :                           {
    5083            0 :                           case INTEGER_CST:
    5084            0 :                             {
    5085            0 :                               {
    5086            0 :                                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    5087            0 :                                 tree res = generic_simplify_327 (loc, type, _p0, _p1, captures, ROUND_DIV_EXPR);
    5088            0 :                                 if (res) return res;
    5089              :                               }
    5090            0 :                               break;
    5091              :                             }
    5092              :                           default:;
    5093              :                           }
    5094              :                       }
    5095              :                     break;
    5096              :                   }
    5097              :                 default:;
    5098              :                 }
    5099              :               break;
    5100              :             }
    5101              :           default:;
    5102              :           }
    5103              :         break;
    5104              :       }
    5105            0 :     case VEC_COND_EXPR:
    5106            0 :       {
    5107            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5108            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5109            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5110            0 :         switch (TREE_CODE (_p1))
    5111              :           {
    5112            0 :           case VEC_COND_EXPR:
    5113            0 :             {
    5114            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5115            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5116            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5117            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5118              :                 {
    5119            0 :                   {
    5120            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    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_fail1614;
    5130            0 :                         {
    5131            0 :                           tree res_op0;
    5132            0 :                           res_op0 = captures[1];
    5133            0 :                           tree res_op1;
    5134            0 :                           {
    5135            0 :                             tree _o1[2], _r1;
    5136            0 :                             _o1[0] = captures[2];
    5137            0 :                             _o1[1] = captures[5];
    5138            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5139            0 :                             if (EXPR_P (_r1))
    5140            0 :                               goto next_after_fail1614;
    5141            0 :                             res_op1 = _r1;
    5142              :                           }
    5143            0 :                           tree res_op2;
    5144            0 :                           {
    5145            0 :                             tree _o1[2], _r1;
    5146            0 :                             _o1[0] = captures[3];
    5147            0 :                             _o1[1] = captures[6];
    5148            0 :                             _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5149            0 :                             if (EXPR_P (_r1))
    5150            0 :                               goto next_after_fail1614;
    5151            0 :                             res_op2 = _r1;
    5152              :                           }
    5153            0 :                           tree _r;
    5154            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5155            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    5156            0 :                           return _r;
    5157              :                         }
    5158            0 : next_after_fail1614:;
    5159              :                       }
    5160              :                   }
    5161              :                 }
    5162              :               break;
    5163              :             }
    5164            0 :           default:;
    5165              :           }
    5166            0 :         {
    5167            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5168            0 :           if (VECTOR_TYPE_P (type)
    5169            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5170              :  || types_match (type, TREE_TYPE (captures[2]))
    5171              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5172              :  || (optimize_vectors_before_lowering_p ()
    5173              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5174              : )
    5175              :             {
    5176            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
    5177            0 :               {
    5178            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1615;
    5179            0 :                 tree res_op0;
    5180            0 :                 res_op0 = captures[1];
    5181            0 :                 tree res_op1;
    5182            0 :                 {
    5183            0 :                   tree _o1[2], _r1;
    5184            0 :                   _o1[0] = captures[2];
    5185            0 :                   _o1[1] = unshare_expr (captures[4]);
    5186            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5187            0 :                   if (EXPR_P (_r1))
    5188            0 :                     goto next_after_fail1615;
    5189            0 :                   res_op1 = _r1;
    5190              :                 }
    5191            0 :                 tree res_op2;
    5192            0 :                 {
    5193            0 :                   tree _o1[2], _r1;
    5194            0 :                   _o1[0] = captures[3];
    5195            0 :                   _o1[1] = captures[4];
    5196            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5197            0 :                   if (EXPR_P (_r1))
    5198            0 :                     goto next_after_fail1615;
    5199            0 :                   res_op2 = _r1;
    5200              :                 }
    5201            0 :                 tree _r;
    5202            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5203            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    5204            0 :                 return _r;
    5205              :               }
    5206            0 : next_after_fail1615:;
    5207              :             }
    5208              :         }
    5209            0 :         break;
    5210              :       }
    5211            0 :     default:;
    5212              :     }
    5213            0 :   switch (TREE_CODE (_p1))
    5214              :     {
    5215            0 :     case VEC_COND_EXPR:
    5216            0 :       {
    5217            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5218            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5219            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5220            0 :         {
    5221            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5222            0 :           if (VECTOR_TYPE_P (type)
    5223            0 :  && (TREE_CODE_CLASS (ROUND_DIV_EXPR) != tcc_comparison
    5224              :  || types_match (type, TREE_TYPE (captures[3]))
    5225              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5226              :  || (optimize_vectors_before_lowering_p ()
    5227              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5228              : )
    5229              :             {
    5230            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1616;
    5231            0 :               {
    5232            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1616;
    5233            0 :                 tree res_op0;
    5234            0 :                 res_op0 = captures[2];
    5235            0 :                 tree res_op1;
    5236            0 :                 {
    5237            0 :                   tree _o1[2], _r1;
    5238            0 :                   _o1[0] = unshare_expr (captures[0]);
    5239            0 :                   _o1[1] = captures[3];
    5240            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5241            0 :                   if (EXPR_P (_r1))
    5242            0 :                     goto next_after_fail1616;
    5243            0 :                   res_op1 = _r1;
    5244              :                 }
    5245            0 :                 tree res_op2;
    5246            0 :                 {
    5247            0 :                   tree _o1[2], _r1;
    5248            0 :                   _o1[0] = captures[0];
    5249            0 :                   _o1[1] = captures[4];
    5250            0 :                   _r1 = fold_build2_loc (loc, ROUND_DIV_EXPR, type, _o1[0], _o1[1]);
    5251            0 :                   if (EXPR_P (_r1))
    5252            0 :                     goto next_after_fail1616;
    5253            0 :                   res_op2 = _r1;
    5254              :                 }
    5255            0 :                 tree _r;
    5256            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5257            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    5258            0 :                 return _r;
    5259              :               }
    5260            0 : next_after_fail1616:;
    5261              :             }
    5262              :         }
    5263            0 :         break;
    5264              :       }
    5265              :     default:;
    5266              :     }
    5267              :   return NULL_TREE;
    5268              : }
    5269              : 
    5270              : tree
    5271      6403219 : generic_simplify_RDIV_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    5272              : {
    5273      6403219 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    5274      6403219 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    5275              :     {
    5276          849 :       {
    5277          849 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5278            9 :         if (FLOAT_TYPE_P (type)
    5279          849 :  && ! HONOR_NANS (type)
    5280          851 :  && ! HONOR_INFINITIES (type)
    5281              : )
    5282              :           {
    5283            2 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1623;
    5284            2 :             {
    5285            2 :               tree _r;
    5286            2 :               _r =  build_one_cst (type);
    5287            2 :               if (TREE_SIDE_EFFECTS (captures[0]))
    5288            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
    5289            2 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1002, __FILE__, __LINE__, true);
    5290            2 :               return _r;
    5291              :             }
    5292            0 : next_after_fail1623:;
    5293              :           }
    5294              :       }
    5295              :     }
    5296      6403217 :   switch (TREE_CODE (_p1))
    5297              :     {
    5298        19342 :     case NEGATE_EXPR:
    5299        19342 :       {
    5300        19342 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5301        19342 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5302              :           {
    5303            0 :             {
    5304            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5305            0 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures);
    5306            0 :               if (res) return res;
    5307              :             }
    5308              :           }
    5309              :         break;
    5310              :       }
    5311      6403217 :     default:;
    5312              :     }
    5313      6403217 :   switch (TREE_CODE (_p0))
    5314              :     {
    5315        96797 :     case NEGATE_EXPR:
    5316        96797 :       {
    5317        96797 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5318        96797 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5319              :           {
    5320            2 :             {
    5321            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5322            2 :               tree res = generic_simplify_336 (loc, type, _p0, _p1, captures);
    5323            2 :               if (res) return res;
    5324              :             }
    5325              :           }
    5326              :         break;
    5327              :       }
    5328       563212 :     CASE_CONVERT:
    5329       563212 :       {
    5330       563212 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5331       563212 :         switch (TREE_CODE (_p1))
    5332              :           {
    5333        33769 :           CASE_CONVERT:
    5334        33769 :             {
    5335        33769 :               tree _q40 = TREE_OPERAND (_p1, 0);
    5336        33769 :               switch (TREE_CODE (_q40))
    5337              :                 {
    5338            0 :                 case ABS_EXPR:
    5339            0 :                   {
    5340            0 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    5341            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    5342              :                       {
    5343            0 :                         {
    5344            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5345            0 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
    5346            0 :                           if (res) return res;
    5347              :                         }
    5348              :                       }
    5349              :                     break;
    5350              :                   }
    5351              :                 default:;
    5352              :                 }
    5353              :               break;
    5354              :             }
    5355       563212 :           default:;
    5356              :           }
    5357       563212 :         switch (TREE_CODE (_q20))
    5358              :           {
    5359            0 :           case ABS_EXPR:
    5360            0 :             {
    5361            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    5362            0 :               switch (TREE_CODE (_p1))
    5363              :                 {
    5364            0 :                 CASE_CONVERT:
    5365            0 :                   {
    5366            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    5367            0 :                     if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
    5368              :                       {
    5369            0 :                         {
    5370            0 :                           tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
    5371            0 :                           tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
    5372            0 :                           if (res) return res;
    5373              :                         }
    5374              :                       }
    5375              :                     break;
    5376              :                   }
    5377              :                 default:;
    5378              :                 }
    5379              :               break;
    5380              :             }
    5381              :           default:;
    5382              :           }
    5383              :         break;
    5384              :       }
    5385      6403217 :     default:;
    5386              :     }
    5387      6403217 :   switch (TREE_CODE (_p1))
    5388              :     {
    5389           48 :     case ABS_EXPR:
    5390           48 :       {
    5391           48 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5392           48 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5393              :           {
    5394            0 :             {
    5395            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5396            0 :               tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
    5397            0 :               if (res) return res;
    5398              :             }
    5399              :           }
    5400              :         break;
    5401              :       }
    5402      6403217 :     default:;
    5403              :     }
    5404      6403217 :   switch (TREE_CODE (_p0))
    5405              :     {
    5406          146 :     case ABS_EXPR:
    5407          146 :       {
    5408          146 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5409          146 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    5410              :           {
    5411            0 :             {
    5412            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
    5413            0 :               tree res = generic_simplify_337 (loc, type, _p0, _p1, captures);
    5414            0 :               if (res) return res;
    5415              :             }
    5416              :           }
    5417              :         break;
    5418              :       }
    5419      6403217 :     default:;
    5420              :     }
    5421      6403217 :   if (real_onep (_p1))
    5422              :     {
    5423          116 :       {
    5424          116 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5425          116 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5426              : )
    5427              :           {
    5428          116 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1624;
    5429          116 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1624;
    5430          116 :             {
    5431          116 :               tree res_op0;
    5432          116 :               res_op0 = captures[0];
    5433          116 :               tree _r;
    5434          116 :               _r = non_lvalue_loc (loc, res_op0);
    5435          116 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1003, __FILE__, __LINE__, true);
    5436          116 :               return _r;
    5437              :             }
    5438              : next_after_fail1624:;
    5439              :           }
    5440              :       }
    5441              :     }
    5442      6403101 :   if (real_minus_onep (_p1))
    5443              :     {
    5444           36 :       {
    5445           36 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5446           36 :         if (!tree_expr_maybe_signaling_nan_p (captures[0])
    5447              : )
    5448              :           {
    5449           36 :             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1625;
    5450           36 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1625;
    5451           36 :             {
    5452           36 :               tree res_op0;
    5453           36 :               res_op0 = captures[0];
    5454           36 :               tree _r;
    5455           36 :               _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
    5456           36 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
    5457           36 :               return _r;
    5458              :             }
    5459              : next_after_fail1625:;
    5460              :           }
    5461              :       }
    5462              :     }
    5463      6403065 :   switch (TREE_CODE (_p0))
    5464              :     {
    5465        38262 :     case RDIV_EXPR:
    5466        38262 :       {
    5467        38262 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5468        38262 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5469        38262 :         {
    5470        38262 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    5471        38262 :           if (flag_reciprocal_math
    5472              : )
    5473              :             {
    5474           12 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1626;
    5475           12 :               {
    5476           12 :                 tree res_op0;
    5477           12 :                 res_op0 = captures[1];
    5478           12 :                 tree res_op1;
    5479           12 :                 {
    5480           12 :                   tree _o1[2], _r1;
    5481           12 :                   _o1[0] = captures[2];
    5482           12 :                   _o1[1] = captures[3];
    5483           12 :                   _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5484           12 :                   res_op1 = _r1;
    5485              :                 }
    5486           12 :                 tree _r;
    5487           12 :                 _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5488           12 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
    5489           12 :                 return _r;
    5490              :               }
    5491            0 : next_after_fail1626:;
    5492              :             }
    5493              :         }
    5494        38250 :         break;
    5495              :       }
    5496      6403053 :     default:;
    5497              :     }
    5498      6403053 :   switch (TREE_CODE (_p1))
    5499              :     {
    5500       980153 :     case MULT_EXPR:
    5501       980153 :       {
    5502       980153 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5503       980153 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5504       980153 :         switch (TREE_CODE (_q31))
    5505              :           {
    5506       384679 :           case REAL_CST:
    5507       384679 :             {
    5508       384679 :               {
    5509       384679 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5510       384679 :                 if (flag_reciprocal_math
    5511              : )
    5512              :                   {
    5513          224 :                     {
    5514          224 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
    5515          224 :                         if (tem
    5516              : )
    5517              :                           {
    5518          224 :                             if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1627;
    5519          224 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1627;
    5520          224 :                             {
    5521          224 :                               tree res_op0;
    5522          224 :                               {
    5523          224 :                                 tree _o1[2], _r1;
    5524          224 :                                 _o1[0] = captures[0];
    5525          224 :                                 _o1[1] =  tem;
    5526          224 :                                 _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5527          224 :                                 res_op0 = _r1;
    5528              :                               }
    5529          224 :                               tree res_op1;
    5530          224 :                               res_op1 = captures[2];
    5531          224 :                               tree _r;
    5532          224 :                               _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5533          224 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1006, __FILE__, __LINE__, true);
    5534          224 :                               return _r;
    5535              :                             }
    5536       384455 : next_after_fail1627:;
    5537              :                           }
    5538              :                     }
    5539              :                   }
    5540              :               }
    5541       384455 :               break;
    5542              :             }
    5543              :           default:;
    5544              :           }
    5545              :         break;
    5546              :       }
    5547            1 :     case RDIV_EXPR:
    5548            1 :       {
    5549            1 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5550            1 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5551            1 :         {
    5552            1 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    5553            1 :           if (flag_reciprocal_math
    5554              : )
    5555              :             {
    5556            1 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1628;
    5557            1 :               {
    5558            1 :                 tree res_op0;
    5559            1 :                 {
    5560            1 :                   tree _o1[2], _r1;
    5561            1 :                   _o1[0] = captures[0];
    5562            1 :                   _o1[1] = captures[2];
    5563            1 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
    5564            1 :                   res_op0 = _r1;
    5565              :                 }
    5566            1 :                 tree res_op1;
    5567            1 :                 res_op1 = captures[3];
    5568            1 :                 tree _r;
    5569            1 :                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5570            1 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1007, __FILE__, __LINE__, true);
    5571            1 :                 return _r;
    5572              :               }
    5573            0 : next_after_fail1628:;
    5574              :             }
    5575              :         }
    5576            0 :         break;
    5577              :       }
    5578        19342 :     case NEGATE_EXPR:
    5579        19342 :       {
    5580        19342 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5581        19342 :         {
    5582        19342 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    5583        19342 :           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1629;
    5584        19342 :           {
    5585        19342 :             tree res_op0;
    5586        19342 :             {
    5587        19342 :               tree _o1[1], _r1;
    5588        19342 :               _o1[0] = captures[0];
    5589        19342 :               _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
    5590        19342 :               res_op0 = _r1;
    5591              :             }
    5592        19342 :             tree res_op1;
    5593        19342 :             res_op1 = captures[1];
    5594        19342 :             tree _r;
    5595        19342 :             _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
    5596        19342 :             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1008, __FILE__, __LINE__, true);
    5597        19342 :             return _r;
    5598              :           }
    5599            0 : next_after_fail1629:;
    5600              :         }
    5601            0 :         break;
    5602              :       }
    5603      1086376 :     case REAL_CST:
    5604      1086376 :       {
    5605      1086376 :         {
    5606      1086376 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5607      1086376 :           if (optimize
    5608              : )
    5609              :             {
    5610      1079568 :               if (flag_reciprocal_math
    5611      1079568 :  && !real_zerop (captures[1])
    5612              : )
    5613              :                 {
    5614          571 :                   {
    5615          571 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5616          571 :                       if (tem
    5617              : )
    5618              :                         {
    5619          570 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1630;
    5620          570 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1630;
    5621          570 :                           {
    5622          570 :                             tree res_op0;
    5623          570 :                             res_op0 = captures[0];
    5624          570 :                             tree res_op1;
    5625          570 :                             res_op1 =  tem;
    5626          570 :                             tree _r;
    5627          570 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5628          570 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
    5629          570 :                             return _r;
    5630              :                           }
    5631       758871 : next_after_fail1630:;
    5632              :                         }
    5633              :                   }
    5634              :                 }
    5635              :               else
    5636              :                 {
    5637      1078997 :                   if (REAL_CST != COMPLEX_CST
    5638              : )
    5639              :                     {
    5640      1078997 :                       {
    5641      1078997 :  tree inverse = exact_inverse (type, captures[1]);
    5642      1078997 :                           if (inverse
    5643              : )
    5644              :                             {
    5645       326935 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1631;
    5646       326935 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1631;
    5647       326935 :                               {
    5648       326935 :                                 tree res_op0;
    5649       326935 :                                 res_op0 = captures[0];
    5650       326935 :                                 tree res_op1;
    5651       326935 :                                 res_op1 =  inverse;
    5652       326935 :                                 tree _r;
    5653       326935 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5654       326935 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
    5655       326935 :                                 return _r;
    5656              :                               }
    5657       758871 : next_after_fail1631:;
    5658              :                             }
    5659              :                       }
    5660              :                     }
    5661              :                 }
    5662              :             }
    5663              :         }
    5664       758871 :         break;
    5665              :       }
    5666          114 :     case COMPLEX_CST:
    5667          114 :       {
    5668          114 :         {
    5669          114 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5670          114 :           if (optimize
    5671              : )
    5672              :             {
    5673          106 :               if (flag_reciprocal_math
    5674          106 :  && !real_zerop (captures[1])
    5675              : )
    5676              :                 {
    5677            7 :                   {
    5678            7 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5679            7 :                       if (tem
    5680              : )
    5681              :                         {
    5682            7 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1632;
    5683            7 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1632;
    5684            7 :                           {
    5685            7 :                             tree res_op0;
    5686            7 :                             res_op0 = captures[0];
    5687            7 :                             tree res_op1;
    5688            7 :                             res_op1 =  tem;
    5689            7 :                             tree _r;
    5690            7 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5691            7 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
    5692            7 :                             return _r;
    5693              :                           }
    5694          107 : next_after_fail1632:;
    5695              :                         }
    5696              :                   }
    5697              :                 }
    5698              :               else
    5699              :                 {
    5700              :                   if (COMPLEX_CST != COMPLEX_CST
    5701              : )
    5702              :                     {
    5703              :                       {
    5704              :  tree inverse = exact_inverse (type, captures[1]);
    5705              :                           if (inverse
    5706              : )
    5707              :                             {
    5708              :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1633;
    5709              :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1633;
    5710              :                               {
    5711              :                                 tree res_op0;
    5712              :                                 res_op0 = captures[0];
    5713              :                                 tree res_op1;
    5714              :                                 res_op1 =  inverse;
    5715              :                                 tree _r;
    5716              :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5717              :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
    5718              :                                 return _r;
    5719              :                               }
    5720              : next_after_fail1633:;
    5721              :                             }
    5722              :                       }
    5723              :                     }
    5724              :                 }
    5725              :             }
    5726              :         }
    5727          107 :         break;
    5728              :       }
    5729           49 :     case VECTOR_CST:
    5730           49 :       {
    5731           49 :         {
    5732           49 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    5733           49 :           if (optimize
    5734              : )
    5735              :             {
    5736           45 :               if (flag_reciprocal_math
    5737           45 :  && !real_zerop (captures[1])
    5738              : )
    5739              :                 {
    5740            4 :                   {
    5741            4 :  tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
    5742            4 :                       if (tem
    5743              : )
    5744              :                         {
    5745            0 :                           if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1634;
    5746            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1634;
    5747            0 :                           {
    5748            0 :                             tree res_op0;
    5749            0 :                             res_op0 = captures[0];
    5750            0 :                             tree res_op1;
    5751            0 :                             res_op1 =  tem;
    5752            0 :                             tree _r;
    5753            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5754            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
    5755            0 :                             return _r;
    5756              :                           }
    5757           19 : next_after_fail1634:;
    5758              :                         }
    5759              :                   }
    5760              :                 }
    5761              :               else
    5762              :                 {
    5763           41 :                   if (VECTOR_CST != COMPLEX_CST
    5764              : )
    5765              :                     {
    5766           41 :                       {
    5767           41 :  tree inverse = exact_inverse (type, captures[1]);
    5768           41 :                           if (inverse
    5769              : )
    5770              :                             {
    5771           30 :                               if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1635;
    5772           30 :                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1635;
    5773           30 :                               {
    5774           30 :                                 tree res_op0;
    5775           30 :                                 res_op0 = captures[0];
    5776           30 :                                 tree res_op1;
    5777           30 :                                 res_op1 =  inverse;
    5778           30 :                                 tree _r;
    5779           30 :                                 _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    5780           30 :                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
    5781           30 :                                 return _r;
    5782              :                               }
    5783           19 : next_after_fail1635:;
    5784              :                             }
    5785              :                       }
    5786              :                     }
    5787              :                 }
    5788              :             }
    5789              :         }
    5790           19 :         break;
    5791              :       }
    5792      6055944 :     default:;
    5793              :     }
    5794      6055944 :   switch (TREE_CODE (_p0))
    5795              :     {
    5796            0 :     case VEC_COND_EXPR:
    5797            0 :       {
    5798            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    5799            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
    5800            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
    5801            0 :         switch (TREE_CODE (_p1))
    5802              :           {
    5803            0 :           case VEC_COND_EXPR:
    5804            0 :             {
    5805            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    5806            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    5807            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    5808            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    5809              :                 {
    5810            0 :                   {
    5811            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    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_fail1636;
    5821            0 :                         {
    5822            0 :                           tree res_op0;
    5823            0 :                           res_op0 = captures[1];
    5824            0 :                           tree res_op1;
    5825            0 :                           {
    5826            0 :                             tree _o1[2], _r1;
    5827            0 :                             _o1[0] = captures[2];
    5828            0 :                             _o1[1] = captures[5];
    5829            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5830            0 :                             if (EXPR_P (_r1))
    5831            0 :                               goto next_after_fail1636;
    5832            0 :                             res_op1 = _r1;
    5833              :                           }
    5834            0 :                           tree res_op2;
    5835            0 :                           {
    5836            0 :                             tree _o1[2], _r1;
    5837            0 :                             _o1[0] = captures[3];
    5838            0 :                             _o1[1] = captures[6];
    5839            0 :                             _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5840            0 :                             if (EXPR_P (_r1))
    5841            0 :                               goto next_after_fail1636;
    5842            0 :                             res_op2 = _r1;
    5843              :                           }
    5844            0 :                           tree _r;
    5845            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5846            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    5847            0 :                           return _r;
    5848              :                         }
    5849            0 : next_after_fail1636:;
    5850              :                       }
    5851              :                   }
    5852              :                 }
    5853              :               break;
    5854              :             }
    5855            0 :           default:;
    5856              :           }
    5857            0 :         {
    5858            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    5859            0 :           if (VECTOR_TYPE_P (type)
    5860            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5861              :  || types_match (type, TREE_TYPE (captures[2]))
    5862              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    5863              :  || (optimize_vectors_before_lowering_p ()
    5864              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    5865              : )
    5866              :             {
    5867            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1637;
    5868            0 :               {
    5869            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1637;
    5870            0 :                 tree res_op0;
    5871            0 :                 res_op0 = captures[1];
    5872            0 :                 tree res_op1;
    5873            0 :                 {
    5874            0 :                   tree _o1[2], _r1;
    5875            0 :                   _o1[0] = captures[2];
    5876            0 :                   _o1[1] = unshare_expr (captures[4]);
    5877            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5878            0 :                   if (EXPR_P (_r1))
    5879            0 :                     goto next_after_fail1637;
    5880            0 :                   res_op1 = _r1;
    5881              :                 }
    5882            0 :                 tree res_op2;
    5883            0 :                 {
    5884            0 :                   tree _o1[2], _r1;
    5885            0 :                   _o1[0] = captures[3];
    5886            0 :                   _o1[1] = captures[4];
    5887            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5888            0 :                   if (EXPR_P (_r1))
    5889            0 :                     goto next_after_fail1637;
    5890            0 :                   res_op2 = _r1;
    5891              :                 }
    5892            0 :                 tree _r;
    5893            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5894            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    5895            0 :                 return _r;
    5896              :               }
    5897            0 : next_after_fail1637:;
    5898              :             }
    5899              :         }
    5900            0 :         break;
    5901              :       }
    5902      6055944 :     default:;
    5903              :     }
    5904      6055944 :   switch (TREE_CODE (_p1))
    5905              :     {
    5906            0 :     case VEC_COND_EXPR:
    5907            0 :       {
    5908            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    5909            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    5910            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    5911            0 :         {
    5912            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    5913            0 :           if (VECTOR_TYPE_P (type)
    5914            0 :  && (TREE_CODE_CLASS (RDIV_EXPR) != tcc_comparison
    5915              :  || types_match (type, TREE_TYPE (captures[3]))
    5916              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    5917              :  || (optimize_vectors_before_lowering_p ()
    5918              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    5919              : )
    5920              :             {
    5921            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1638;
    5922            0 :               {
    5923            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1638;
    5924            0 :                 tree res_op0;
    5925            0 :                 res_op0 = captures[2];
    5926            0 :                 tree res_op1;
    5927            0 :                 {
    5928            0 :                   tree _o1[2], _r1;
    5929            0 :                   _o1[0] = unshare_expr (captures[0]);
    5930            0 :                   _o1[1] = captures[3];
    5931            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5932            0 :                   if (EXPR_P (_r1))
    5933            0 :                     goto next_after_fail1638;
    5934            0 :                   res_op1 = _r1;
    5935              :                 }
    5936            0 :                 tree res_op2;
    5937            0 :                 {
    5938            0 :                   tree _o1[2], _r1;
    5939            0 :                   _o1[0] = captures[0];
    5940            0 :                   _o1[1] = captures[4];
    5941            0 :                   _r1 = fold_build2_loc (loc, RDIV_EXPR, type, _o1[0], _o1[1]);
    5942            0 :                   if (EXPR_P (_r1))
    5943            0 :                     goto next_after_fail1638;
    5944            0 :                   res_op2 = _r1;
    5945              :                 }
    5946            0 :                 tree _r;
    5947            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    5948            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    5949            0 :                 return _r;
    5950              :               }
    5951            0 : next_after_fail1638:;
    5952              :             }
    5953              :         }
    5954            0 :         break;
    5955              :       }
    5956       809678 :     case CALL_EXPR:
    5957       809678 :       switch (get_call_combined_fn (_p1))
    5958              :         {
    5959           20 :         case CFN_BUILT_IN_SQRTF:
    5960           20 :           if (call_expr_nargs (_p1) == 1)
    5961              :     {
    5962           20 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    5963           20 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    5964              :                 {
    5965            0 :                   {
    5966            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    5967            0 :                     tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF);
    5968            0 :                     if (res) return res;
    5969              :                   }
    5970              :                 }
    5971           20 :               switch (TREE_CODE (_q30))
    5972              :                 {
    5973            0 :                 case RDIV_EXPR:
    5974            0 :                   {
    5975            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    5976            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    5977            0 :                     {
    5978            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    5979            0 :                       if (flag_unsafe_math_optimizations
    5980              : )
    5981              :                         {
    5982            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1639;
    5983            0 :                           {
    5984            0 :                             tree res_op0;
    5985            0 :                             res_op0 = captures[0];
    5986            0 :                             tree res_op1;
    5987            0 :                             {
    5988            0 :                               tree _o1[1], _r1;
    5989            0 :                               {
    5990            0 :                                 tree _o2[2], _r2;
    5991            0 :                                 _o2[0] = captures[4];
    5992            0 :                                 _o2[1] = captures[3];
    5993            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    5994            0 :                                 _o1[0] = _r2;
    5995              :                               }
    5996            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    5997            0 :                               if (!_r1)
    5998            0 :                                 goto next_after_fail1639;
    5999            0 :                               res_op1 = _r1;
    6000              :                             }
    6001            0 :                             tree _r;
    6002            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6003            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6004            0 :                             return _r;
    6005              :                           }
    6006            0 : next_after_fail1639:;
    6007              :                         }
    6008              :                     }
    6009            0 :                     break;
    6010              :                   }
    6011              :                 default:;
    6012              :                 }
    6013              :             }
    6014              :           break;
    6015            0 :         case CFN_BUILT_IN_SQRTL:
    6016            0 :           if (call_expr_nargs (_p1) == 1)
    6017              :     {
    6018            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6019            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6020              :                 {
    6021            0 :                   {
    6022            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6023            0 :                     tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL);
    6024            0 :                     if (res) return res;
    6025              :                   }
    6026              :                 }
    6027            0 :               switch (TREE_CODE (_q30))
    6028              :                 {
    6029            0 :                 case RDIV_EXPR:
    6030            0 :                   {
    6031            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6032            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6033            0 :                     {
    6034            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6035            0 :                       if (flag_unsafe_math_optimizations
    6036              : )
    6037              :                         {
    6038            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1640;
    6039            0 :                           {
    6040            0 :                             tree res_op0;
    6041            0 :                             res_op0 = captures[0];
    6042            0 :                             tree res_op1;
    6043            0 :                             {
    6044            0 :                               tree _o1[1], _r1;
    6045            0 :                               {
    6046            0 :                                 tree _o2[2], _r2;
    6047            0 :                                 _o2[0] = captures[4];
    6048            0 :                                 _o2[1] = captures[3];
    6049            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6050            0 :                                 _o1[0] = _r2;
    6051              :                               }
    6052            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6053            0 :                               if (!_r1)
    6054            0 :                                 goto next_after_fail1640;
    6055            0 :                               res_op1 = _r1;
    6056              :                             }
    6057            0 :                             tree _r;
    6058            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6059            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6060            0 :                             return _r;
    6061              :                           }
    6062            0 : next_after_fail1640:;
    6063              :                         }
    6064              :                     }
    6065            0 :                     break;
    6066              :                   }
    6067              :                 default:;
    6068              :                 }
    6069              :             }
    6070              :           break;
    6071           27 :         case CFN_BUILT_IN_EXP:
    6072           27 :           if (call_expr_nargs (_p1) == 1)
    6073              :     {
    6074           27 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6075           27 :               {
    6076           27 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6077           27 :                 if (flag_unsafe_math_optimizations
    6078              : )
    6079              :                   {
    6080           27 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1641;
    6081           27 :                     {
    6082           27 :                       tree res_op0;
    6083           27 :                       res_op0 = captures[0];
    6084           27 :                       tree res_op1;
    6085           27 :                       {
    6086           27 :                         tree _o1[1], _r1;
    6087           27 :                         {
    6088           27 :                           tree _o2[1], _r2;
    6089           27 :                           _o2[0] = captures[2];
    6090           27 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6091           27 :                           _o1[0] = _r2;
    6092              :                         }
    6093           27 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6094           27 :                         if (!_r1)
    6095            0 :                           goto next_after_fail1641;
    6096           27 :                         res_op1 = _r1;
    6097              :                       }
    6098           27 :                       tree _r;
    6099           27 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6100           27 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6101           27 :                       return _r;
    6102              :                     }
    6103            0 : next_after_fail1641:;
    6104              :                   }
    6105              :               }
    6106              :             }
    6107              :           break;
    6108           24 :         case CFN_BUILT_IN_EXP10F:
    6109           24 :           if (call_expr_nargs (_p1) == 1)
    6110              :     {
    6111           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6112           24 :               {
    6113           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6114           24 :                 if (flag_unsafe_math_optimizations
    6115              : )
    6116              :                   {
    6117           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1642;
    6118           24 :                     {
    6119           24 :                       tree res_op0;
    6120           24 :                       res_op0 = captures[0];
    6121           24 :                       tree res_op1;
    6122           24 :                       {
    6123           24 :                         tree _o1[1], _r1;
    6124           24 :                         {
    6125           24 :                           tree _o2[1], _r2;
    6126           24 :                           _o2[0] = captures[2];
    6127           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6128           24 :                           _o1[0] = _r2;
    6129              :                         }
    6130           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6131           24 :                         if (!_r1)
    6132            0 :                           goto next_after_fail1642;
    6133           24 :                         res_op1 = _r1;
    6134              :                       }
    6135           24 :                       tree _r;
    6136           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6137           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6138           24 :                       return _r;
    6139              :                     }
    6140            0 : next_after_fail1642:;
    6141              :                   }
    6142              :               }
    6143              :             }
    6144              :           break;
    6145           24 :         case CFN_BUILT_IN_EXP10L:
    6146           24 :           if (call_expr_nargs (_p1) == 1)
    6147              :     {
    6148           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6149           24 :               {
    6150           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6151           24 :                 if (flag_unsafe_math_optimizations
    6152              : )
    6153              :                   {
    6154           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1643;
    6155           24 :                     {
    6156           24 :                       tree res_op0;
    6157           24 :                       res_op0 = captures[0];
    6158           24 :                       tree res_op1;
    6159           24 :                       {
    6160           24 :                         tree _o1[1], _r1;
    6161           24 :                         {
    6162           24 :                           tree _o2[1], _r2;
    6163           24 :                           _o2[0] = captures[2];
    6164           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6165           24 :                           _o1[0] = _r2;
    6166              :                         }
    6167           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6168           24 :                         if (!_r1)
    6169            0 :                           goto next_after_fail1643;
    6170           24 :                         res_op1 = _r1;
    6171              :                       }
    6172           24 :                       tree _r;
    6173           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6174           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6175           24 :                       return _r;
    6176              :                     }
    6177            0 : next_after_fail1643:;
    6178              :                   }
    6179              :               }
    6180              :             }
    6181              :           break;
    6182            3 :         case CFN_BUILT_IN_CBRT:
    6183            3 :           if (call_expr_nargs (_p1) == 1)
    6184              :     {
    6185            3 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6186            3 :               switch (TREE_CODE (_q30))
    6187              :                 {
    6188            2 :                 case RDIV_EXPR:
    6189            2 :                   {
    6190            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6191            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6192            2 :                     {
    6193            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6194            2 :                       if (flag_unsafe_math_optimizations
    6195              : )
    6196              :                         {
    6197            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1644;
    6198            2 :                           {
    6199            2 :                             tree res_op0;
    6200            2 :                             res_op0 = captures[0];
    6201            2 :                             tree res_op1;
    6202            2 :                             {
    6203            2 :                               tree _o1[1], _r1;
    6204            2 :                               {
    6205            2 :                                 tree _o2[2], _r2;
    6206            2 :                                 _o2[0] = captures[4];
    6207            2 :                                 _o2[1] = captures[3];
    6208            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6209            2 :                                 _o1[0] = _r2;
    6210              :                               }
    6211            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6212            2 :                               if (!_r1)
    6213            0 :                                 goto next_after_fail1644;
    6214            2 :                               res_op1 = _r1;
    6215              :                             }
    6216            2 :                             tree _r;
    6217            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6218            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6219            2 :                             return _r;
    6220              :                           }
    6221            0 : next_after_fail1644:;
    6222              :                         }
    6223              :                     }
    6224            0 :                     break;
    6225              :                   }
    6226              :                 default:;
    6227              :                 }
    6228              :             }
    6229              :           break;
    6230           24 :         case CFN_BUILT_IN_EXP2:
    6231           24 :           if (call_expr_nargs (_p1) == 1)
    6232              :     {
    6233           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6234           24 :               {
    6235           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6236           24 :                 if (flag_unsafe_math_optimizations
    6237              : )
    6238              :                   {
    6239           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1645;
    6240           24 :                     {
    6241           24 :                       tree res_op0;
    6242           24 :                       res_op0 = captures[0];
    6243           24 :                       tree res_op1;
    6244           24 :                       {
    6245           24 :                         tree _o1[1], _r1;
    6246           24 :                         {
    6247           24 :                           tree _o2[1], _r2;
    6248           24 :                           _o2[0] = captures[2];
    6249           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6250           24 :                           _o1[0] = _r2;
    6251              :                         }
    6252           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6253           24 :                         if (!_r1)
    6254            0 :                           goto next_after_fail1645;
    6255           24 :                         res_op1 = _r1;
    6256              :                       }
    6257           24 :                       tree _r;
    6258           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6259           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6260           24 :                       return _r;
    6261              :                     }
    6262            0 : next_after_fail1645:;
    6263              :                   }
    6264              :               }
    6265              :             }
    6266              :           break;
    6267           25 :         case CFN_BUILT_IN_EXPF:
    6268           25 :           if (call_expr_nargs (_p1) == 1)
    6269              :     {
    6270           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6271           25 :               {
    6272           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6273           25 :                 if (flag_unsafe_math_optimizations
    6274              : )
    6275              :                   {
    6276           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1646;
    6277           25 :                     {
    6278           25 :                       tree res_op0;
    6279           25 :                       res_op0 = captures[0];
    6280           25 :                       tree res_op1;
    6281           25 :                       {
    6282           25 :                         tree _o1[1], _r1;
    6283           25 :                         {
    6284           25 :                           tree _o2[1], _r2;
    6285           25 :                           _o2[0] = captures[2];
    6286           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6287           25 :                           _o1[0] = _r2;
    6288              :                         }
    6289           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6290           25 :                         if (!_r1)
    6291            0 :                           goto next_after_fail1646;
    6292           25 :                         res_op1 = _r1;
    6293              :                       }
    6294           25 :                       tree _r;
    6295           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6296           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6297           25 :                       return _r;
    6298              :                     }
    6299            0 : next_after_fail1646:;
    6300              :                   }
    6301              :               }
    6302              :             }
    6303              :           break;
    6304           25 :         case CFN_BUILT_IN_EXPL:
    6305           25 :           if (call_expr_nargs (_p1) == 1)
    6306              :     {
    6307           25 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6308           25 :               {
    6309           25 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6310           25 :                 if (flag_unsafe_math_optimizations
    6311              : )
    6312              :                   {
    6313           25 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1647;
    6314           25 :                     {
    6315           25 :                       tree res_op0;
    6316           25 :                       res_op0 = captures[0];
    6317           25 :                       tree res_op1;
    6318           25 :                       {
    6319           25 :                         tree _o1[1], _r1;
    6320           25 :                         {
    6321           25 :                           tree _o2[1], _r2;
    6322           25 :                           _o2[0] = captures[2];
    6323           25 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6324           25 :                           _o1[0] = _r2;
    6325              :                         }
    6326           25 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6327           25 :                         if (!_r1)
    6328            0 :                           goto next_after_fail1647;
    6329           25 :                         res_op1 = _r1;
    6330              :                       }
    6331           25 :                       tree _r;
    6332           25 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6333           25 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6334           25 :                       return _r;
    6335              :                     }
    6336            0 : next_after_fail1647:;
    6337              :                   }
    6338              :               }
    6339              :             }
    6340              :           break;
    6341          306 :         case CFN_BUILT_IN_SQRT:
    6342          306 :           if (call_expr_nargs (_p1) == 1)
    6343              :     {
    6344          306 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6345          306 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6346              :                 {
    6347            0 :                   {
    6348            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6349            0 :                     tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT);
    6350            0 :                     if (res) return res;
    6351              :                   }
    6352              :                 }
    6353          306 :               switch (TREE_CODE (_q30))
    6354              :                 {
    6355            2 :                 case RDIV_EXPR:
    6356            2 :                   {
    6357            2 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6358            2 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6359            2 :                     {
    6360            2 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6361            2 :                       if (flag_unsafe_math_optimizations
    6362              : )
    6363              :                         {
    6364            2 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1648;
    6365            2 :                           {
    6366            2 :                             tree res_op0;
    6367            2 :                             res_op0 = captures[0];
    6368            2 :                             tree res_op1;
    6369            2 :                             {
    6370            2 :                               tree _o1[1], _r1;
    6371            2 :                               {
    6372            2 :                                 tree _o2[2], _r2;
    6373            2 :                                 _o2[0] = captures[4];
    6374            2 :                                 _o2[1] = captures[3];
    6375            2 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6376            2 :                                 _o1[0] = _r2;
    6377              :                               }
    6378            2 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6379            2 :                               if (!_r1)
    6380            0 :                                 goto next_after_fail1648;
    6381            2 :                               res_op1 = _r1;
    6382              :                             }
    6383            2 :                             tree _r;
    6384            2 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6385            2 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6386            2 :                             return _r;
    6387              :                           }
    6388            0 : next_after_fail1648:;
    6389              :                         }
    6390              :                     }
    6391            0 :                     break;
    6392              :                   }
    6393              :                 default:;
    6394              :                 }
    6395              :             }
    6396              :           break;
    6397            0 :         case CFN_EXP:
    6398            0 :           if (call_expr_nargs (_p1) == 1)
    6399              :     {
    6400            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6401            0 :               {
    6402            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6403            0 :                 if (flag_unsafe_math_optimizations
    6404              : )
    6405              :                   {
    6406            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1649;
    6407            0 :                     {
    6408            0 :                       tree res_op0;
    6409            0 :                       res_op0 = captures[0];
    6410            0 :                       tree res_op1;
    6411            0 :                       {
    6412            0 :                         tree _o1[1], _r1;
    6413            0 :                         {
    6414            0 :                           tree _o2[1], _r2;
    6415            0 :                           _o2[0] = captures[2];
    6416            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6417            0 :                           _o1[0] = _r2;
    6418              :                         }
    6419            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6420            0 :                         if (!_r1)
    6421            0 :                           goto next_after_fail1649;
    6422            0 :                         res_op1 = _r1;
    6423              :                       }
    6424            0 :                       tree _r;
    6425            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6426            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6427            0 :                       return _r;
    6428              :                     }
    6429            0 : next_after_fail1649:;
    6430              :                   }
    6431              :               }
    6432              :             }
    6433              :           break;
    6434           24 :         case CFN_BUILT_IN_POW10F:
    6435           24 :           if (call_expr_nargs (_p1) == 1)
    6436              :     {
    6437           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6438           24 :               {
    6439           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6440           24 :                 if (flag_unsafe_math_optimizations
    6441              : )
    6442              :                   {
    6443           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1650;
    6444           24 :                     {
    6445           24 :                       tree res_op0;
    6446           24 :                       res_op0 = captures[0];
    6447           24 :                       tree res_op1;
    6448           24 :                       {
    6449           24 :                         tree _o1[1], _r1;
    6450           24 :                         {
    6451           24 :                           tree _o2[1], _r2;
    6452           24 :                           _o2[0] = captures[2];
    6453           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6454           24 :                           _o1[0] = _r2;
    6455              :                         }
    6456           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6457           24 :                         if (!_r1)
    6458           24 :                           goto next_after_fail1650;
    6459            0 :                         res_op1 = _r1;
    6460              :                       }
    6461            0 :                       tree _r;
    6462            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6463            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6464            0 :                       return _r;
    6465              :                     }
    6466           24 : next_after_fail1650:;
    6467              :                   }
    6468              :               }
    6469              :             }
    6470              :           break;
    6471           24 :         case CFN_BUILT_IN_POW10L:
    6472           24 :           if (call_expr_nargs (_p1) == 1)
    6473              :     {
    6474           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6475           24 :               {
    6476           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6477           24 :                 if (flag_unsafe_math_optimizations
    6478              : )
    6479              :                   {
    6480           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1651;
    6481           24 :                     {
    6482           24 :                       tree res_op0;
    6483           24 :                       res_op0 = captures[0];
    6484           24 :                       tree res_op1;
    6485           24 :                       {
    6486           24 :                         tree _o1[1], _r1;
    6487           24 :                         {
    6488           24 :                           tree _o2[1], _r2;
    6489           24 :                           _o2[0] = captures[2];
    6490           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6491           24 :                           _o1[0] = _r2;
    6492              :                         }
    6493           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6494           24 :                         if (!_r1)
    6495           24 :                           goto next_after_fail1651;
    6496            0 :                         res_op1 = _r1;
    6497              :                       }
    6498            0 :                       tree _r;
    6499            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6500            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6501            0 :                       return _r;
    6502              :                     }
    6503           24 : next_after_fail1651:;
    6504              :                   }
    6505              :               }
    6506              :             }
    6507              :           break;
    6508            0 :         case CFN_EXP2:
    6509            0 :           if (call_expr_nargs (_p1) == 1)
    6510              :     {
    6511            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6512            0 :               {
    6513            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6514            0 :                 if (flag_unsafe_math_optimizations
    6515              : )
    6516              :                   {
    6517            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1652;
    6518            0 :                     {
    6519            0 :                       tree res_op0;
    6520            0 :                       res_op0 = captures[0];
    6521            0 :                       tree res_op1;
    6522            0 :                       {
    6523            0 :                         tree _o1[1], _r1;
    6524            0 :                         {
    6525            0 :                           tree _o2[1], _r2;
    6526            0 :                           _o2[0] = captures[2];
    6527            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6528            0 :                           _o1[0] = _r2;
    6529              :                         }
    6530            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP2, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6531            0 :                         if (!_r1)
    6532            0 :                           goto next_after_fail1652;
    6533            0 :                         res_op1 = _r1;
    6534              :                       }
    6535            0 :                       tree _r;
    6536            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6537            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6538            0 :                       return _r;
    6539              :                     }
    6540            0 : next_after_fail1652:;
    6541              :                   }
    6542              :               }
    6543              :             }
    6544              :           break;
    6545            0 :         case CFN_SQRT:
    6546            0 :           if (call_expr_nargs (_p1) == 1)
    6547              :     {
    6548            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6549            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    6550              :                 {
    6551            0 :                   {
    6552            0 :                     tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    6553            0 :                     tree res = generic_simplify_338 (loc, type, _p0, _p1, captures, CFN_SQRT);
    6554            0 :                     if (res) return res;
    6555              :                   }
    6556              :                 }
    6557            0 :               switch (TREE_CODE (_q30))
    6558              :                 {
    6559            0 :                 case RDIV_EXPR:
    6560            0 :                   {
    6561            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6562            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6563            0 :                     {
    6564            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6565            0 :                       if (flag_unsafe_math_optimizations
    6566              : )
    6567              :                         {
    6568            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1653;
    6569            0 :                           {
    6570            0 :                             tree res_op0;
    6571            0 :                             res_op0 = captures[0];
    6572            0 :                             tree res_op1;
    6573            0 :                             {
    6574            0 :                               tree _o1[1], _r1;
    6575            0 :                               {
    6576            0 :                                 tree _o2[2], _r2;
    6577            0 :                                 _o2[0] = captures[4];
    6578            0 :                                 _o2[1] = captures[3];
    6579            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6580            0 :                                 _o1[0] = _r2;
    6581              :                               }
    6582            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_SQRT, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6583            0 :                               if (!_r1)
    6584            0 :                                 goto next_after_fail1653;
    6585            0 :                               res_op1 = _r1;
    6586              :                             }
    6587            0 :                             tree _r;
    6588            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6589            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6590            0 :                             return _r;
    6591              :                           }
    6592            0 : next_after_fail1653:;
    6593              :                         }
    6594              :                     }
    6595            0 :                     break;
    6596              :                   }
    6597              :                 default:;
    6598              :                 }
    6599              :             }
    6600              :           break;
    6601            0 :         case CFN_EXP10:
    6602            0 :           if (call_expr_nargs (_p1) == 1)
    6603              :     {
    6604            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6605            0 :               {
    6606            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6607            0 :                 if (flag_unsafe_math_optimizations
    6608              : )
    6609              :                   {
    6610            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1654;
    6611            0 :                     {
    6612            0 :                       tree res_op0;
    6613            0 :                       res_op0 = captures[0];
    6614            0 :                       tree res_op1;
    6615            0 :                       {
    6616            0 :                         tree _o1[1], _r1;
    6617            0 :                         {
    6618            0 :                           tree _o2[1], _r2;
    6619            0 :                           _o2[0] = captures[2];
    6620            0 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6621            0 :                           _o1[0] = _r2;
    6622              :                         }
    6623            0 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6624            0 :                         if (!_r1)
    6625            0 :                           goto next_after_fail1654;
    6626            0 :                         res_op1 = _r1;
    6627              :                       }
    6628            0 :                       tree _r;
    6629            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6630            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6631            0 :                       return _r;
    6632              :                     }
    6633            0 : next_after_fail1654:;
    6634              :                   }
    6635              :               }
    6636              :             }
    6637              :           break;
    6638            0 :         case CFN_BUILT_IN_CBRTF:
    6639            0 :           if (call_expr_nargs (_p1) == 1)
    6640              :     {
    6641            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6642            0 :               switch (TREE_CODE (_q30))
    6643              :                 {
    6644            0 :                 case RDIV_EXPR:
    6645            0 :                   {
    6646            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6647            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6648            0 :                     {
    6649            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6650            0 :                       if (flag_unsafe_math_optimizations
    6651              : )
    6652              :                         {
    6653            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1655;
    6654            0 :                           {
    6655            0 :                             tree res_op0;
    6656            0 :                             res_op0 = captures[0];
    6657            0 :                             tree res_op1;
    6658            0 :                             {
    6659            0 :                               tree _o1[1], _r1;
    6660            0 :                               {
    6661            0 :                                 tree _o2[2], _r2;
    6662            0 :                                 _o2[0] = captures[4];
    6663            0 :                                 _o2[1] = captures[3];
    6664            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6665            0 :                                 _o1[0] = _r2;
    6666              :                               }
    6667            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6668            0 :                               if (!_r1)
    6669            0 :                                 goto next_after_fail1655;
    6670            0 :                               res_op1 = _r1;
    6671              :                             }
    6672            0 :                             tree _r;
    6673            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6674            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6675            0 :                             return _r;
    6676              :                           }
    6677            0 : next_after_fail1655:;
    6678              :                         }
    6679              :                     }
    6680            0 :                     break;
    6681              :                   }
    6682              :                 default:;
    6683              :                 }
    6684              :             }
    6685              :           break;
    6686            0 :         case CFN_BUILT_IN_CBRTL:
    6687            0 :           if (call_expr_nargs (_p1) == 1)
    6688              :     {
    6689            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6690            0 :               switch (TREE_CODE (_q30))
    6691              :                 {
    6692            0 :                 case RDIV_EXPR:
    6693            0 :                   {
    6694            0 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    6695            0 :                     tree _q41 = TREE_OPERAND (_q30, 1);
    6696            0 :                     {
    6697            0 :                       tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
    6698            0 :                       if (flag_unsafe_math_optimizations
    6699              : )
    6700              :                         {
    6701            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1656;
    6702            0 :                           {
    6703            0 :                             tree res_op0;
    6704            0 :                             res_op0 = captures[0];
    6705            0 :                             tree res_op1;
    6706            0 :                             {
    6707            0 :                               tree _o1[1], _r1;
    6708            0 :                               {
    6709            0 :                                 tree _o2[2], _r2;
    6710            0 :                                 _o2[0] = captures[4];
    6711            0 :                                 _o2[1] = captures[3];
    6712            0 :                                 _r2 = fold_build2_loc (loc, RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
    6713            0 :                                 _o1[0] = _r2;
    6714              :                               }
    6715            0 :                               _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6716            0 :                               if (!_r1)
    6717            0 :                                 goto next_after_fail1656;
    6718            0 :                               res_op1 = _r1;
    6719              :                             }
    6720            0 :                             tree _r;
    6721            0 :                             _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6722            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
    6723            0 :                             return _r;
    6724              :                           }
    6725            0 : next_after_fail1656:;
    6726              :                         }
    6727              :                     }
    6728            0 :                     break;
    6729              :                   }
    6730              :                 default:;
    6731              :                 }
    6732              :             }
    6733              :           break;
    6734           24 :         case CFN_BUILT_IN_EXP10:
    6735           24 :           if (call_expr_nargs (_p1) == 1)
    6736              :     {
    6737           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6738           24 :               {
    6739           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6740           24 :                 if (flag_unsafe_math_optimizations
    6741              : )
    6742              :                   {
    6743           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
    6744           24 :                     {
    6745           24 :                       tree res_op0;
    6746           24 :                       res_op0 = captures[0];
    6747           24 :                       tree res_op1;
    6748           24 :                       {
    6749           24 :                         tree _o1[1], _r1;
    6750           24 :                         {
    6751           24 :                           tree _o2[1], _r2;
    6752           24 :                           _o2[0] = captures[2];
    6753           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6754           24 :                           _o1[0] = _r2;
    6755              :                         }
    6756           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6757           24 :                         if (!_r1)
    6758            0 :                           goto next_after_fail1657;
    6759           24 :                         res_op1 = _r1;
    6760              :                       }
    6761           24 :                       tree _r;
    6762           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6763           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6764           24 :                       return _r;
    6765              :                     }
    6766            0 : next_after_fail1657:;
    6767              :                   }
    6768              :               }
    6769              :             }
    6770              :           break;
    6771           24 :         case CFN_BUILT_IN_EXP2F:
    6772           24 :           if (call_expr_nargs (_p1) == 1)
    6773              :     {
    6774           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6775           24 :               {
    6776           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6777           24 :                 if (flag_unsafe_math_optimizations
    6778              : )
    6779              :                   {
    6780           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
    6781           24 :                     {
    6782           24 :                       tree res_op0;
    6783           24 :                       res_op0 = captures[0];
    6784           24 :                       tree res_op1;
    6785           24 :                       {
    6786           24 :                         tree _o1[1], _r1;
    6787           24 :                         {
    6788           24 :                           tree _o2[1], _r2;
    6789           24 :                           _o2[0] = captures[2];
    6790           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6791           24 :                           _o1[0] = _r2;
    6792              :                         }
    6793           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6794           24 :                         if (!_r1)
    6795            0 :                           goto next_after_fail1658;
    6796           24 :                         res_op1 = _r1;
    6797              :                       }
    6798           24 :                       tree _r;
    6799           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6800           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6801           24 :                       return _r;
    6802              :                     }
    6803            0 : next_after_fail1658:;
    6804              :                   }
    6805              :               }
    6806              :             }
    6807              :           break;
    6808           24 :         case CFN_BUILT_IN_EXP2L:
    6809           24 :           if (call_expr_nargs (_p1) == 1)
    6810              :     {
    6811           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6812           24 :               {
    6813           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6814           24 :                 if (flag_unsafe_math_optimizations
    6815              : )
    6816              :                   {
    6817           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1659;
    6818           24 :                     {
    6819           24 :                       tree res_op0;
    6820           24 :                       res_op0 = captures[0];
    6821           24 :                       tree res_op1;
    6822           24 :                       {
    6823           24 :                         tree _o1[1], _r1;
    6824           24 :                         {
    6825           24 :                           tree _o2[1], _r2;
    6826           24 :                           _o2[0] = captures[2];
    6827           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6828           24 :                           _o1[0] = _r2;
    6829              :                         }
    6830           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6831           24 :                         if (!_r1)
    6832            0 :                           goto next_after_fail1659;
    6833           24 :                         res_op1 = _r1;
    6834              :                       }
    6835           24 :                       tree _r;
    6836           24 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6837           24 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6838           24 :                       return _r;
    6839              :                     }
    6840            0 : next_after_fail1659:;
    6841              :                   }
    6842              :               }
    6843              :             }
    6844              :           break;
    6845           24 :         case CFN_BUILT_IN_POW10:
    6846           24 :           if (call_expr_nargs (_p1) == 1)
    6847              :     {
    6848           24 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    6849           24 :               {
    6850           24 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
    6851           24 :                 if (flag_unsafe_math_optimizations
    6852              : )
    6853              :                   {
    6854           24 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1660;
    6855           24 :                     {
    6856           24 :                       tree res_op0;
    6857           24 :                       res_op0 = captures[0];
    6858           24 :                       tree res_op1;
    6859           24 :                       {
    6860           24 :                         tree _o1[1], _r1;
    6861           24 :                         {
    6862           24 :                           tree _o2[1], _r2;
    6863           24 :                           _o2[0] = captures[2];
    6864           24 :                           _r2 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
    6865           24 :                           _o1[0] = _r2;
    6866              :                         }
    6867           24 :                         _r1 = maybe_build_call_expr_loc (loc, CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), 1, _o1[0]);
    6868           24 :                         if (!_r1)
    6869           24 :                           goto next_after_fail1660;
    6870            0 :                         res_op1 = _r1;
    6871              :                       }
    6872            0 :                       tree _r;
    6873            0 :                       _r = fold_build2_loc (loc, MULT_EXPR, type, res_op0, res_op1);
    6874            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1012, __FILE__, __LINE__, true);
    6875            0 :                       return _r;
    6876              :                     }
    6877           24 : next_after_fail1660:;
    6878              :                   }
    6879              :               }
    6880              :             }
    6881              :           break;
    6882              :         default:;
    6883              :         }
    6884              :       break;
    6885      6055719 :     default:;
    6886              :     }
    6887      6055719 :   switch (TREE_CODE (_p0))
    6888              :     {
    6889       194570 :     case CALL_EXPR:
    6890       194570 :       switch (get_call_combined_fn (_p0))
    6891              :         {
    6892            1 :         case CFN_BUILT_IN_SINHF:
    6893            1 :           if (call_expr_nargs (_p0) == 1)
    6894              :     {
    6895            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6896            1 :               switch (TREE_CODE (_p1))
    6897              :                 {
    6898            1 :                 case CALL_EXPR:
    6899            1 :                   switch (get_call_combined_fn (_p1))
    6900              :                     {
    6901            1 :                     case CFN_BUILT_IN_COSHF:
    6902            1 :                       if (call_expr_nargs (_p1) == 1)
    6903              :     {
    6904            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6905            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6906              :                             {
    6907            1 :                               {
    6908            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6909            1 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF);
    6910            1 :                                 if (res) return res;
    6911              :                               }
    6912              :                             }
    6913              :                         }
    6914              :                       break;
    6915              :                     default:;
    6916              :                     }
    6917              :                   break;
    6918              :                 default:;
    6919              :                 }
    6920              :             }
    6921              :           break;
    6922            1 :         case CFN_BUILT_IN_SINHL:
    6923            1 :           if (call_expr_nargs (_p0) == 1)
    6924              :     {
    6925            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6926            1 :               switch (TREE_CODE (_p1))
    6927              :                 {
    6928            1 :                 case CALL_EXPR:
    6929            1 :                   switch (get_call_combined_fn (_p1))
    6930              :                     {
    6931            1 :                     case CFN_BUILT_IN_COSHL:
    6932            1 :                       if (call_expr_nargs (_p1) == 1)
    6933              :     {
    6934            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6935            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6936              :                             {
    6937            1 :                               {
    6938            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6939            1 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL);
    6940            1 :                                 if (res) return res;
    6941              :                               }
    6942              :                             }
    6943              :                         }
    6944              :                       break;
    6945              :                     default:;
    6946              :                     }
    6947              :                   break;
    6948              :                 default:;
    6949              :                 }
    6950              :             }
    6951              :           break;
    6952            1 :         case CFN_BUILT_IN_TANHF:
    6953            1 :           if (call_expr_nargs (_p0) == 1)
    6954              :     {
    6955            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6956            1 :               switch (TREE_CODE (_p1))
    6957              :                 {
    6958            1 :                 case CALL_EXPR:
    6959            1 :                   switch (get_call_combined_fn (_p1))
    6960              :                     {
    6961            1 :                     case CFN_BUILT_IN_SINHF:
    6962            1 :                       if (call_expr_nargs (_p1) == 1)
    6963              :     {
    6964            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6965            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6966              :                             {
    6967            1 :                               {
    6968            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6969            1 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF);
    6970            1 :                                 if (res) return res;
    6971              :                               }
    6972              :                             }
    6973              :                         }
    6974              :                       break;
    6975              :                     default:;
    6976              :                     }
    6977              :                   break;
    6978              :                 default:;
    6979              :                 }
    6980              :             }
    6981              :           break;
    6982            1 :         case CFN_BUILT_IN_TANHL:
    6983            1 :           if (call_expr_nargs (_p0) == 1)
    6984              :     {
    6985            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    6986            1 :               switch (TREE_CODE (_p1))
    6987              :                 {
    6988            1 :                 case CALL_EXPR:
    6989            1 :                   switch (get_call_combined_fn (_p1))
    6990              :                     {
    6991            1 :                     case CFN_BUILT_IN_SINHL:
    6992            1 :                       if (call_expr_nargs (_p1) == 1)
    6993              :     {
    6994            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    6995            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    6996              :                             {
    6997            1 :                               {
    6998            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    6999            1 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL);
    7000            1 :                                 if (res) return res;
    7001              :                               }
    7002              :                             }
    7003              :                         }
    7004              :                       break;
    7005              :                     default:;
    7006              :                     }
    7007              :                   break;
    7008              :                 default:;
    7009              :                 }
    7010              :             }
    7011              :           break;
    7012            2 :         case CFN_BUILT_IN_COS:
    7013            2 :           if (call_expr_nargs (_p0) == 1)
    7014              :     {
    7015            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7016            2 :               switch (TREE_CODE (_p1))
    7017              :                 {
    7018            2 :                 case CALL_EXPR:
    7019            2 :                   switch (get_call_combined_fn (_p1))
    7020              :                     {
    7021            2 :                     case CFN_BUILT_IN_SIN:
    7022            2 :                       if (call_expr_nargs (_p1) == 1)
    7023              :     {
    7024            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7025            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7026              :                             {
    7027            2 :                               {
    7028            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7029            2 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN);
    7030            2 :                                 if (res) return res;
    7031              :                               }
    7032              :                             }
    7033              :                         }
    7034              :                       break;
    7035              :                     default:;
    7036              :                     }
    7037              :                   break;
    7038              :                 default:;
    7039              :                 }
    7040              :             }
    7041              :           break;
    7042            4 :         case CFN_BUILT_IN_POW:
    7043            4 :           if (call_expr_nargs (_p0) == 2)
    7044              :     {
    7045            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7046            4 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7047            4 :               switch (TREE_CODE (_q21))
    7048              :                 {
    7049            4 :                 case REAL_CST:
    7050            4 :                   {
    7051            4 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7052              :                       {
    7053            4 :                         {
    7054            4 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7055            4 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7056            4 :                           if (res) return res;
    7057              :                         }
    7058              :                       }
    7059              :                     break;
    7060              :                   }
    7061              :                 default:;
    7062              :                 }
    7063              :             }
    7064              :           break;
    7065           94 :         case CFN_BUILT_IN_SIN:
    7066           94 :           if (call_expr_nargs (_p0) == 1)
    7067              :     {
    7068           94 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7069           94 :               switch (TREE_CODE (_p1))
    7070              :                 {
    7071            4 :                 case CALL_EXPR:
    7072            4 :                   switch (get_call_combined_fn (_p1))
    7073              :                     {
    7074            2 :                     case CFN_BUILT_IN_COS:
    7075            2 :                       if (call_expr_nargs (_p1) == 1)
    7076              :     {
    7077            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7078            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7079              :                             {
    7080            2 :                               {
    7081            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7082            2 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN);
    7083            2 :                                 if (res) return res;
    7084              :                               }
    7085              :                             }
    7086              :                         }
    7087              :                       break;
    7088            2 :                     case CFN_BUILT_IN_TAN:
    7089            2 :                       if (call_expr_nargs (_p1) == 1)
    7090              :     {
    7091            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7092            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7093              :                             {
    7094            2 :                               {
    7095            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7096            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS);
    7097            2 :                                 if (res) return res;
    7098              :                               }
    7099              :                             }
    7100              :                         }
    7101              :                       break;
    7102              :                     default:;
    7103              :                     }
    7104              :                   break;
    7105              :                 default:;
    7106              :                 }
    7107              :             }
    7108              :           break;
    7109            2 :         case CFN_BUILT_IN_TAN:
    7110            2 :           if (call_expr_nargs (_p0) == 1)
    7111              :     {
    7112            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7113            2 :               switch (TREE_CODE (_p1))
    7114              :                 {
    7115            2 :                 case CALL_EXPR:
    7116            2 :                   switch (get_call_combined_fn (_p1))
    7117              :                     {
    7118            2 :                     case CFN_BUILT_IN_SIN:
    7119            2 :                       if (call_expr_nargs (_p1) == 1)
    7120              :     {
    7121            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7122            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7123              :                             {
    7124            2 :                               {
    7125            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7126            2 :                                 tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS);
    7127            2 :                                 if (res) return res;
    7128              :                               }
    7129              :                             }
    7130              :                         }
    7131              :                       break;
    7132              :                     default:;
    7133              :                     }
    7134              :                   break;
    7135              :                 default:;
    7136              :                 }
    7137              :             }
    7138              :           break;
    7139            2 :         case CFN_BUILT_IN_COSF:
    7140            2 :           if (call_expr_nargs (_p0) == 1)
    7141              :     {
    7142            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7143            2 :               switch (TREE_CODE (_p1))
    7144              :                 {
    7145            2 :                 case CALL_EXPR:
    7146            2 :                   switch (get_call_combined_fn (_p1))
    7147              :                     {
    7148            2 :                     case CFN_BUILT_IN_SINF:
    7149            2 :                       if (call_expr_nargs (_p1) == 1)
    7150              :     {
    7151            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7152            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7153              :                             {
    7154            2 :                               {
    7155            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7156            2 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF);
    7157            2 :                                 if (res) return res;
    7158              :                               }
    7159              :                             }
    7160              :                         }
    7161              :                       break;
    7162              :                     default:;
    7163              :                     }
    7164              :                   break;
    7165              :                 default:;
    7166              :                 }
    7167              :             }
    7168              :           break;
    7169            2 :         case CFN_BUILT_IN_COSL:
    7170            2 :           if (call_expr_nargs (_p0) == 1)
    7171              :     {
    7172            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7173            2 :               switch (TREE_CODE (_p1))
    7174              :                 {
    7175            2 :                 case CALL_EXPR:
    7176            2 :                   switch (get_call_combined_fn (_p1))
    7177              :                     {
    7178            2 :                     case CFN_BUILT_IN_SINL:
    7179            2 :                       if (call_expr_nargs (_p1) == 1)
    7180              :     {
    7181            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7182            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7183              :                             {
    7184            2 :                               {
    7185            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7186            2 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL);
    7187            2 :                                 if (res) return res;
    7188              :                               }
    7189              :                             }
    7190              :                         }
    7191              :                       break;
    7192              :                     default:;
    7193              :                     }
    7194              :                   break;
    7195              :                 default:;
    7196              :                 }
    7197              :             }
    7198              :           break;
    7199            1 :         case CFN_BUILT_IN_POWF:
    7200            1 :           if (call_expr_nargs (_p0) == 2)
    7201              :     {
    7202            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7203            1 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7204            1 :               switch (TREE_CODE (_q21))
    7205              :                 {
    7206            1 :                 case REAL_CST:
    7207            1 :                   {
    7208            1 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7209              :                       {
    7210            0 :                         {
    7211            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7212            0 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7213            0 :                           if (res) return res;
    7214              :                         }
    7215              :                       }
    7216              :                     break;
    7217              :                   }
    7218              :                 default:;
    7219              :                 }
    7220              :             }
    7221              :           break;
    7222            0 :         case CFN_BUILT_IN_POWL:
    7223            0 :           if (call_expr_nargs (_p0) == 2)
    7224              :     {
    7225            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7226            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7227            0 :               switch (TREE_CODE (_q21))
    7228              :                 {
    7229            0 :                 case REAL_CST:
    7230            0 :                   {
    7231            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7232              :                       {
    7233            0 :                         {
    7234            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7235            0 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7236            0 :                           if (res) return res;
    7237              :                         }
    7238              :                       }
    7239              :                     break;
    7240              :                   }
    7241              :                 default:;
    7242              :                 }
    7243              :             }
    7244              :           break;
    7245            4 :         case CFN_BUILT_IN_SINF:
    7246            4 :           if (call_expr_nargs (_p0) == 1)
    7247              :     {
    7248            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7249            4 :               switch (TREE_CODE (_p1))
    7250              :                 {
    7251            4 :                 case CALL_EXPR:
    7252            4 :                   switch (get_call_combined_fn (_p1))
    7253              :                     {
    7254            2 :                     case CFN_BUILT_IN_COSF:
    7255            2 :                       if (call_expr_nargs (_p1) == 1)
    7256              :     {
    7257            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7258            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7259              :                             {
    7260            2 :                               {
    7261            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7262            2 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF);
    7263            2 :                                 if (res) return res;
    7264              :                               }
    7265              :                             }
    7266              :                         }
    7267              :                       break;
    7268            2 :                     case CFN_BUILT_IN_TANF:
    7269            2 :                       if (call_expr_nargs (_p1) == 1)
    7270              :     {
    7271            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7272            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7273              :                             {
    7274            2 :                               {
    7275            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7276            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF);
    7277            2 :                                 if (res) return res;
    7278              :                               }
    7279              :                             }
    7280              :                         }
    7281              :                       break;
    7282              :                     default:;
    7283              :                     }
    7284              :                   break;
    7285              :                 default:;
    7286              :                 }
    7287              :             }
    7288              :           break;
    7289          143 :         case CFN_BUILT_IN_SINH:
    7290          143 :           if (call_expr_nargs (_p0) == 1)
    7291              :     {
    7292          143 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7293          143 :               switch (TREE_CODE (_p1))
    7294              :                 {
    7295            3 :                 case CALL_EXPR:
    7296            3 :                   switch (get_call_combined_fn (_p1))
    7297              :                     {
    7298            3 :                     case CFN_BUILT_IN_COSH:
    7299            3 :                       if (call_expr_nargs (_p1) == 1)
    7300              :     {
    7301            3 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7302            3 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7303              :                             {
    7304            3 :                               {
    7305            3 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7306            3 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH);
    7307            3 :                                 if (res) return res;
    7308              :                               }
    7309              :                             }
    7310              :                         }
    7311              :                       break;
    7312              :                     default:;
    7313              :                     }
    7314              :                   break;
    7315              :                 default:;
    7316              :                 }
    7317              :             }
    7318              :           break;
    7319            4 :         case CFN_BUILT_IN_SINL:
    7320            4 :           if (call_expr_nargs (_p0) == 1)
    7321              :     {
    7322            4 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7323            4 :               switch (TREE_CODE (_p1))
    7324              :                 {
    7325            4 :                 case CALL_EXPR:
    7326            4 :                   switch (get_call_combined_fn (_p1))
    7327              :                     {
    7328            2 :                     case CFN_BUILT_IN_COSL:
    7329            2 :                       if (call_expr_nargs (_p1) == 1)
    7330              :     {
    7331            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7332            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7333              :                             {
    7334            2 :                               {
    7335            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7336            2 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL);
    7337            2 :                                 if (res) return res;
    7338              :                               }
    7339              :                             }
    7340              :                         }
    7341              :                       break;
    7342            2 :                     case CFN_BUILT_IN_TANL:
    7343            2 :                       if (call_expr_nargs (_p1) == 1)
    7344              :     {
    7345            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7346            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7347              :                             {
    7348            2 :                               {
    7349            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7350            2 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL);
    7351            2 :                                 if (res) return res;
    7352              :                               }
    7353              :                             }
    7354              :                         }
    7355              :                       break;
    7356              :                     default:;
    7357              :                     }
    7358              :                   break;
    7359              :                 default:;
    7360              :                 }
    7361              :             }
    7362              :           break;
    7363            2 :         case CFN_BUILT_IN_TANF:
    7364            2 :           if (call_expr_nargs (_p0) == 1)
    7365              :     {
    7366            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7367            2 :               switch (TREE_CODE (_p1))
    7368              :                 {
    7369            2 :                 case CALL_EXPR:
    7370            2 :                   switch (get_call_combined_fn (_p1))
    7371              :                     {
    7372            2 :                     case CFN_BUILT_IN_SINF:
    7373            2 :                       if (call_expr_nargs (_p1) == 1)
    7374              :     {
    7375            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7376            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7377              :                             {
    7378            2 :                               {
    7379            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7380            2 :                                 tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF);
    7381            2 :                                 if (res) return res;
    7382              :                               }
    7383              :                             }
    7384              :                         }
    7385              :                       break;
    7386              :                     default:;
    7387              :                     }
    7388              :                   break;
    7389              :                 default:;
    7390              :                 }
    7391              :             }
    7392              :           break;
    7393            1 :         case CFN_BUILT_IN_TANH:
    7394            1 :           if (call_expr_nargs (_p0) == 1)
    7395              :     {
    7396            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7397            1 :               switch (TREE_CODE (_p1))
    7398              :                 {
    7399            1 :                 case CALL_EXPR:
    7400            1 :                   switch (get_call_combined_fn (_p1))
    7401              :                     {
    7402            1 :                     case CFN_BUILT_IN_SINH:
    7403            1 :                       if (call_expr_nargs (_p1) == 1)
    7404              :     {
    7405            1 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7406            1 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7407              :                             {
    7408            1 :                               {
    7409            1 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7410            1 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH);
    7411            1 :                                 if (res) return res;
    7412              :                               }
    7413              :                             }
    7414              :                         }
    7415              :                       break;
    7416              :                     default:;
    7417              :                     }
    7418              :                   break;
    7419              :                 default:;
    7420              :                 }
    7421              :             }
    7422              :           break;
    7423            2 :         case CFN_BUILT_IN_TANL:
    7424            2 :           if (call_expr_nargs (_p0) == 1)
    7425              :     {
    7426            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7427            2 :               switch (TREE_CODE (_p1))
    7428              :                 {
    7429            2 :                 case CALL_EXPR:
    7430            2 :                   switch (get_call_combined_fn (_p1))
    7431              :                     {
    7432            2 :                     case CFN_BUILT_IN_SINL:
    7433            2 :                       if (call_expr_nargs (_p1) == 1)
    7434              :     {
    7435            2 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7436            2 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7437              :                             {
    7438            2 :                               {
    7439            2 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7440            2 :                                 tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL);
    7441            2 :                                 if (res) return res;
    7442              :                               }
    7443              :                             }
    7444              :                         }
    7445              :                       break;
    7446              :                     default:;
    7447              :                     }
    7448              :                   break;
    7449              :                 default:;
    7450              :                 }
    7451              :             }
    7452              :           break;
    7453            0 :         case CFN_COS:
    7454            0 :           if (call_expr_nargs (_p0) == 1)
    7455              :     {
    7456            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7457            0 :               switch (TREE_CODE (_p1))
    7458              :                 {
    7459            0 :                 case CALL_EXPR:
    7460            0 :                   switch (get_call_combined_fn (_p1))
    7461              :                     {
    7462            0 :                     case CFN_SIN:
    7463            0 :                       if (call_expr_nargs (_p1) == 1)
    7464              :     {
    7465            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7466            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7467              :                             {
    7468            0 :                               {
    7469            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7470            0 :                                 tree res = generic_simplify_343 (loc, type, _p0, _p1, captures, CFN_COS, CFN_SIN, CFN_TAN);
    7471            0 :                                 if (res) return res;
    7472              :                               }
    7473              :                             }
    7474              :                         }
    7475              :                       break;
    7476              :                     default:;
    7477              :                     }
    7478              :                   break;
    7479              :                 default:;
    7480              :                 }
    7481              :             }
    7482              :           break;
    7483            0 :         case CFN_POW:
    7484            0 :           if (call_expr_nargs (_p0) == 2)
    7485              :     {
    7486            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7487            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
    7488            0 :               switch (TREE_CODE (_q21))
    7489              :                 {
    7490            0 :                 case REAL_CST:
    7491            0 :                   {
    7492            0 :                     if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7493              :                       {
    7494            0 :                         {
    7495            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7496            0 :                           tree res = generic_simplify_345 (loc, type, _p0, _p1, captures, CFN_POW);
    7497            0 :                           if (res) return res;
    7498              :                         }
    7499              :                       }
    7500              :                     break;
    7501              :                   }
    7502              :                 default:;
    7503              :                 }
    7504              :             }
    7505              :           break;
    7506            0 :         case CFN_SIN:
    7507            0 :           if (call_expr_nargs (_p0) == 1)
    7508              :     {
    7509            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7510            0 :               switch (TREE_CODE (_p1))
    7511              :                 {
    7512            0 :                 case CALL_EXPR:
    7513            0 :                   switch (get_call_combined_fn (_p1))
    7514              :                     {
    7515            0 :                     case CFN_COS:
    7516            0 :                       if (call_expr_nargs (_p1) == 1)
    7517              :     {
    7518            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7519            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7520              :                             {
    7521            0 :                               {
    7522            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7523            0 :                                 tree res = generic_simplify_339 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_COS, CFN_TAN);
    7524            0 :                                 if (res) return res;
    7525              :                               }
    7526              :                             }
    7527              :                         }
    7528              :                       break;
    7529            0 :                     case CFN_TAN:
    7530            0 :                       if (call_expr_nargs (_p1) == 1)
    7531              :     {
    7532            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7533            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7534              :                             {
    7535            0 :                               {
    7536            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7537            0 :                                 tree res = generic_simplify_340 (loc, type, _p0, _p1, captures, CFN_SIN, CFN_TAN, CFN_COS);
    7538            0 :                                 if (res) return res;
    7539              :                               }
    7540              :                             }
    7541              :                         }
    7542              :                       break;
    7543              :                     default:;
    7544              :                     }
    7545              :                   break;
    7546              :                 default:;
    7547              :                 }
    7548              :             }
    7549              :           break;
    7550            0 :         case CFN_TAN:
    7551            0 :           if (call_expr_nargs (_p0) == 1)
    7552              :     {
    7553            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7554            0 :               switch (TREE_CODE (_p1))
    7555              :                 {
    7556            0 :                 case CALL_EXPR:
    7557            0 :                   switch (get_call_combined_fn (_p1))
    7558              :                     {
    7559            0 :                     case CFN_SIN:
    7560            0 :                       if (call_expr_nargs (_p1) == 1)
    7561              :     {
    7562            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7563            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7564              :                             {
    7565            0 :                               {
    7566            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7567            0 :                                 tree res = generic_simplify_344 (loc, type, _p0, _p1, captures, CFN_TAN, CFN_SIN, CFN_COS);
    7568            0 :                                 if (res) return res;
    7569              :                               }
    7570              :                             }
    7571              :                         }
    7572              :                       break;
    7573              :                     default:;
    7574              :                     }
    7575              :                   break;
    7576              :                 default:;
    7577              :                 }
    7578              :             }
    7579              :           break;
    7580            0 :         case CFN_SINH:
    7581            0 :           if (call_expr_nargs (_p0) == 1)
    7582              :     {
    7583            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7584            0 :               switch (TREE_CODE (_p1))
    7585              :                 {
    7586            0 :                 case CALL_EXPR:
    7587            0 :                   switch (get_call_combined_fn (_p1))
    7588              :                     {
    7589            0 :                     case CFN_COSH:
    7590            0 :                       if (call_expr_nargs (_p1) == 1)
    7591              :     {
    7592            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7593            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7594              :                             {
    7595            0 :                               {
    7596            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7597            0 :                                 tree res = generic_simplify_341 (loc, type, _p0, _p1, captures, CFN_SINH, CFN_COSH, CFN_TANH);
    7598            0 :                                 if (res) return res;
    7599              :                               }
    7600              :                             }
    7601              :                         }
    7602              :                       break;
    7603              :                     default:;
    7604              :                     }
    7605              :                   break;
    7606              :                 default:;
    7607              :                 }
    7608              :             }
    7609              :           break;
    7610            0 :         case CFN_TANH:
    7611            0 :           if (call_expr_nargs (_p0) == 1)
    7612              :     {
    7613            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    7614            0 :               switch (TREE_CODE (_p1))
    7615              :                 {
    7616            0 :                 case CALL_EXPR:
    7617            0 :                   switch (get_call_combined_fn (_p1))
    7618              :                     {
    7619            0 :                     case CFN_SINH:
    7620            0 :                       if (call_expr_nargs (_p1) == 1)
    7621              :     {
    7622            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    7623            0 :                           if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
    7624              :                             {
    7625            0 :                               {
    7626            0 :                                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    7627            0 :                                 tree res = generic_simplify_342 (loc, type, _p0, _p1, captures, CFN_TANH, CFN_SINH, CFN_COSH);
    7628            0 :                                 if (res) return res;
    7629              :                               }
    7630              :                             }
    7631              :                         }
    7632              :                       break;
    7633              :                     default:;
    7634              :                     }
    7635              :                   break;
    7636              :                 default:;
    7637              :                 }
    7638              :             }
    7639              :           break;
    7640              :         default:;
    7641              :         }
    7642              :       break;
    7643      6055685 :     default:;
    7644              :     }
    7645      6055685 :   switch (TREE_CODE (_p1))
    7646              :     {
    7647       809423 :     case CALL_EXPR:
    7648       809423 :       switch (get_call_combined_fn (_p1))
    7649              :         {
    7650           22 :         case CFN_BUILT_IN_POW:
    7651           22 :           if (call_expr_nargs (_p1) == 2)
    7652              :     {
    7653           22 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7654           22 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7655           22 :               {
    7656           22 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7657           22 :                 tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POW);
    7658           22 :                 if (res) return res;
    7659              :               }
    7660              :             }
    7661              :           break;
    7662            2 :         case CFN_BUILT_IN_POWF:
    7663            2 :           if (call_expr_nargs (_p1) == 2)
    7664              :     {
    7665            2 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7666            2 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7667            2 :               {
    7668            2 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7669            2 :                 tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWF);
    7670            2 :                 if (res) return res;
    7671              :               }
    7672              :             }
    7673              :           break;
    7674            0 :         case CFN_BUILT_IN_POWL:
    7675            0 :           if (call_expr_nargs (_p1) == 2)
    7676              :     {
    7677            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7678            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7679            0 :               {
    7680            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7681            0 :                 tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_POWL);
    7682            0 :                 if (res) return res;
    7683              :               }
    7684              :             }
    7685              :           break;
    7686            0 :         case CFN_POW:
    7687            0 :           if (call_expr_nargs (_p1) == 2)
    7688              :     {
    7689            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
    7690            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
    7691            0 :               {
    7692            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
    7693            0 :                 tree res = generic_simplify_346 (loc, type, _p0, _p1, captures, CFN_POW);
    7694            0 :                 if (res) return res;
    7695              :               }
    7696              :             }
    7697              :           break;
    7698              :         default:;
    7699              :         }
    7700              :       break;
    7701              :     default:;
    7702              :     }
    7703              :   return NULL_TREE;
    7704              : }
    7705              : 
    7706              : tree
    7707      6785850 : generic_simplify_GE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
    7708              : {
    7709      6785850 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
    7710      6785850 :   switch (TREE_CODE (_p0))
    7711              :     {
    7712         2001 :     case RDIV_EXPR:
    7713         2001 :       {
    7714         2001 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7715         2001 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7716         2001 :         switch (TREE_CODE (_q20))
    7717              :           {
    7718           46 :           case REAL_CST:
    7719           46 :             {
    7720           46 :               if (real_zerop (_p1))
    7721              :                 {
    7722            2 :                   {
    7723            2 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    7724            2 :                     tree res = generic_simplify_380 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    7725            2 :                     if (res) return res;
    7726              :                   }
    7727              :                 }
    7728              :               break;
    7729              :             }
    7730              :           default:;
    7731              :           }
    7732              :         break;
    7733              :       }
    7734         1167 :     case TRUNC_MOD_EXPR:
    7735         1167 :       {
    7736         1167 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7737         1167 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7738         1167 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7739              :           {
    7740           16 :             {
    7741           16 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    7742           16 :               tree res = generic_simplify_381 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    7743           16 :               if (res) return res;
    7744              :             }
    7745              :           }
    7746              :         break;
    7747              :       }
    7748        31294 :     case MULT_EXPR:
    7749        31294 :       {
    7750        31294 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7751        31294 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7752        31294 :         switch (TREE_CODE (_p1))
    7753              :           {
    7754         6884 :           case MULT_EXPR:
    7755         6884 :             {
    7756         6884 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7757         6884 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7758         6884 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7759              :                 {
    7760         4833 :                   {
    7761         4833 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7762         4833 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7763         4833 :                     if (res) return res;
    7764              :                   }
    7765              :                 }
    7766         2599 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7767              :                 {
    7768            0 :                   {
    7769            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7770            0 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7771            0 :                     if (res) return res;
    7772              :                   }
    7773              :                 }
    7774         2599 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7775              :                 {
    7776            0 :                   {
    7777            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7778            0 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7779            0 :                     if (res) return res;
    7780              :                   }
    7781              :                 }
    7782         2599 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7783              :                 {
    7784            1 :                   {
    7785            1 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7786            1 :                     tree res = generic_simplify_382 (loc, type, _p0, _p1, captures, GE_EXPR);
    7787            1 :                     if (res) return res;
    7788              :                   }
    7789              :                 }
    7790              :               break;
    7791              :             }
    7792              :           default:;
    7793              :           }
    7794              :         break;
    7795              :       }
    7796      1038437 :     CASE_CONVERT:
    7797      1038437 :       {
    7798      1038437 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7799      1038437 :         switch (TREE_CODE (_q20))
    7800              :           {
    7801          157 :           case EXACT_DIV_EXPR:
    7802          157 :             {
    7803          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    7804          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    7805          157 :               switch (TREE_CODE (_q31))
    7806              :                 {
    7807          157 :                 case INTEGER_CST:
    7808          157 :                   {
    7809          157 :                     switch (TREE_CODE (_p1))
    7810              :                       {
    7811           43 :                       CASE_CONVERT:
    7812           43 :                         {
    7813           43 :                           tree _q60 = TREE_OPERAND (_p1, 0);
    7814           43 :                           switch (TREE_CODE (_q60))
    7815              :                             {
    7816            0 :                             case EXACT_DIV_EXPR:
    7817            0 :                               {
    7818            0 :                                 tree _q70 = TREE_OPERAND (_q60, 0);
    7819            0 :                                 tree _q71 = TREE_OPERAND (_q60, 1);
    7820            0 :                                 if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
    7821              :                                   {
    7822            0 :                                     {
    7823            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
    7824            0 :                                       tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR);
    7825            0 :                                       if (res) return res;
    7826              :                                     }
    7827              :                                   }
    7828              :                                 break;
    7829              :                               }
    7830              :                             default:;
    7831              :                             }
    7832              :                           break;
    7833              :                         }
    7834              :                       default:;
    7835              :                       }
    7836              :                     break;
    7837              :                   }
    7838              :                 default:;
    7839              :                 }
    7840              :               break;
    7841              :             }
    7842              :           default:;
    7843              :           }
    7844              :         break;
    7845              :       }
    7846         8418 :     case EXACT_DIV_EXPR:
    7847         8418 :       {
    7848         8418 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7849         8418 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7850         8418 :         switch (TREE_CODE (_q21))
    7851              :           {
    7852         8418 :           case INTEGER_CST:
    7853         8418 :             {
    7854         8418 :               switch (TREE_CODE (_p1))
    7855              :                 {
    7856            0 :                 case EXACT_DIV_EXPR:
    7857            0 :                   {
    7858            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7859            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7860            0 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7861              :                       {
    7862            0 :                         {
    7863            0 :                           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    7864            0 :                           tree res = generic_simplify_213 (loc, type, _p0, _p1, captures, GE_EXPR);
    7865            0 :                           if (res) return res;
    7866              :                         }
    7867              :                       }
    7868              :                     break;
    7869              :                   }
    7870              :                 default:;
    7871              :                 }
    7872              :               break;
    7873              :             }
    7874              :           default:;
    7875              :           }
    7876              :         break;
    7877              :       }
    7878        40776 :     case TRUNC_DIV_EXPR:
    7879        40776 :       {
    7880        40776 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7881        40776 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7882        40776 :         switch (TREE_CODE (_q21))
    7883              :           {
    7884        40240 :           case INTEGER_CST:
    7885        40240 :             {
    7886        40240 :               switch (TREE_CODE (_p1))
    7887              :                 {
    7888        39321 :                 case INTEGER_CST:
    7889        39321 :                   {
    7890        39321 :                     {
    7891        39321 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    7892        39321 :                       tree res = generic_simplify_222 (loc, type, _p0, _p1, captures, GE_EXPR);
    7893        39321 :                       if (res) return res;
    7894              :                     }
    7895            0 :                     break;
    7896              :                   }
    7897              :                 default:;
    7898              :                 }
    7899              :               break;
    7900              :             }
    7901              :           default:;
    7902              :           }
    7903              :         break;
    7904              :       }
    7905       796180 :     case PLUS_EXPR:
    7906       796180 :       {
    7907       796180 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7908       796180 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7909       796180 :         switch (TREE_CODE (_p1))
    7910              :           {
    7911        52355 :           case PLUS_EXPR:
    7912        52355 :             {
    7913        52355 :               tree _q50 = TREE_OPERAND (_p1, 0);
    7914        52355 :               tree _q51 = TREE_OPERAND (_p1, 1);
    7915        52355 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7916              :                 {
    7917         1461 :                   {
    7918         1461 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7919         1461 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    7920         1461 :                     if (res) return res;
    7921              :                   }
    7922              :                 }
    7923        52355 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
    7924              :                 {
    7925           21 :                   {
    7926           21 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    7927           21 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    7928           21 :                     if (res) return res;
    7929              :                   }
    7930              :                 }
    7931        52355 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
    7932              :                 {
    7933           16 :                   {
    7934           16 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
    7935           16 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    7936           16 :                     if (res) return res;
    7937              :                   }
    7938              :                 }
    7939        52355 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    7940              :                 {
    7941         1002 :                   {
    7942         1002 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
    7943         1002 :                     tree res = generic_simplify_383 (loc, type, _p0, _p1, captures, GE_EXPR);
    7944         1002 :                     if (res) return res;
    7945              :                   }
    7946              :                 }
    7947              :               break;
    7948              :             }
    7949       796127 :           default:;
    7950              :           }
    7951       796127 :         switch (TREE_CODE (_q21))
    7952              :           {
    7953       683151 :           case INTEGER_CST:
    7954       683151 :             {
    7955       683151 :               switch (TREE_CODE (_p1))
    7956              :                 {
    7957        15156 :                 case PLUS_EXPR:
    7958        15156 :                   {
    7959        15156 :                     tree _q50 = TREE_OPERAND (_p1, 0);
    7960        15156 :                     tree _q51 = TREE_OPERAND (_p1, 1);
    7961        15156 :                     if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    7962              :                       {
    7963         1457 :                         {
    7964         1457 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    7965         1457 :                           tree res = generic_simplify_384 (loc, type, _p0, _p1, captures, GE_EXPR);
    7966         1457 :                           if (res) return res;
    7967              :                         }
    7968              :                       }
    7969              :                     break;
    7970              :                   }
    7971              :                 default:;
    7972              :                 }
    7973              :               break;
    7974              :             }
    7975       796127 :           default:;
    7976              :           }
    7977       796127 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    7978              :           {
    7979        55126 :             {
    7980        55126 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
    7981        55126 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR);
    7982        55126 :               if (res) return res;
    7983              :             }
    7984              :           }
    7985       761200 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    7986              :           {
    7987        24577 :             {
    7988        24577 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
    7989        24577 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, GE_EXPR);
    7990        24577 :               if (res) return res;
    7991              :             }
    7992              :           }
    7993              :         break;
    7994              :       }
    7995       121642 :     case MINUS_EXPR:
    7996       121642 :       {
    7997       121642 :         tree _q20 = TREE_OPERAND (_p0, 0);
    7998       121642 :         tree _q21 = TREE_OPERAND (_p0, 1);
    7999       121642 :         switch (TREE_CODE (_p1))
    8000              :           {
    8001         1567 :           case MINUS_EXPR:
    8002         1567 :             {
    8003         1567 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8004         1567 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8005         1567 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8006              :                 {
    8007           14 :                   {
    8008           14 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
    8009           14 :                     tree res = generic_simplify_386 (loc, type, _p0, _p1, captures, GE_EXPR);
    8010           14 :                     if (res) return res;
    8011              :                   }
    8012              :                 }
    8013         1567 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8014              :                 {
    8015           22 :                   {
    8016           22 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
    8017           22 :                     tree res = generic_simplify_387 (loc, type, _p0, _p1, captures, GE_EXPR);
    8018           22 :                     if (res) return res;
    8019              :                   }
    8020              :                 }
    8021              :               break;
    8022              :             }
    8023              :           default:;
    8024              :           }
    8025              :         break;
    8026              :       }
    8027         2515 :     case POINTER_DIFF_EXPR:
    8028         2515 :       {
    8029         2515 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8030         2515 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8031         2515 :         switch (TREE_CODE (_p1))
    8032              :           {
    8033           32 :           case POINTER_DIFF_EXPR:
    8034           32 :             {
    8035           32 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8036           32 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8037           32 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8038              :                 {
    8039            0 :                   {
    8040            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
    8041            0 :                     tree res = generic_simplify_226 (loc, type, _p0, _p1, captures, GE_EXPR);
    8042            0 :                     if (res) return res;
    8043              :                   }
    8044              :                 }
    8045           32 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8046              :                 {
    8047            0 :                   {
    8048            0 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
    8049            0 :                     tree res = generic_simplify_227 (loc, type, _p0, _p1, captures, GE_EXPR);
    8050            0 :                     if (res) return res;
    8051              :                   }
    8052              :                 }
    8053              :               break;
    8054              :             }
    8055              :           default:;
    8056              :           }
    8057              :         break;
    8058              :       }
    8059      6703669 :     default:;
    8060              :     }
    8061      6703669 :   switch (TREE_CODE (_p1))
    8062              :     {
    8063        59149 :     case PLUS_EXPR:
    8064        59149 :       {
    8065        59149 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8066        59149 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8067        59149 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8068              :           {
    8069            0 :             {
    8070            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    8071            0 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LE_EXPR);
    8072            0 :               if (res) return res;
    8073              :             }
    8074              :           }
    8075        59149 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8076              :           {
    8077            0 :             {
    8078            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
    8079            0 :               tree res = generic_simplify_385 (loc, type, _p0, _p1, captures, LE_EXPR);
    8080            0 :               if (res) return res;
    8081              :             }
    8082              :           }
    8083              :         break;
    8084              :       }
    8085         2619 :     case MINUS_EXPR:
    8086         2619 :       {
    8087         2619 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8088         2619 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8089         2619 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8090              :           {
    8091            0 :             {
    8092            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
    8093            0 :               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, GE_EXPR);
    8094            0 :               if (res) return res;
    8095              :             }
    8096              :           }
    8097              :         break;
    8098              :       }
    8099      6703669 :     default:;
    8100              :     }
    8101      6703669 :   switch (TREE_CODE (_p0))
    8102              :     {
    8103       121642 :     case MINUS_EXPR:
    8104       121642 :       {
    8105       121642 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8106       121642 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8107       121642 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8108              :           {
    8109         2379 :             {
    8110         2379 :               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
    8111         2379 :               tree res = generic_simplify_225 (loc, type, _p0, _p1, captures, LE_EXPR);
    8112         2379 :               if (res) return res;
    8113              :             }
    8114              :           }
    8115              :         break;
    8116              :       }
    8117          838 :     case BIT_IOR_EXPR:
    8118          838 :       {
    8119          838 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8120          838 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8121          838 :         if (tree_expr_nonnegative_p (_q20))
    8122              :           {
    8123           62 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8124              :               {
    8125            0 :                 {
    8126            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8127            0 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8128            0 :                   if (res) return res;
    8129              :                 }
    8130              :               }
    8131              :           }
    8132          838 :         if (tree_expr_nonnegative_p (_q21))
    8133              :           {
    8134          217 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8135              :               {
    8136            0 :                 {
    8137            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8138            0 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8139            0 :                   if (res) return res;
    8140              :                 }
    8141              :               }
    8142              :           }
    8143              :         break;
    8144              :       }
    8145      6703668 :     default:;
    8146              :     }
    8147      6703668 :   switch (TREE_CODE (_p1))
    8148              :     {
    8149          200 :     case BIT_AND_EXPR:
    8150          200 :       {
    8151          200 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8152          200 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8153          200 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8154              :           {
    8155            0 :             if (tree_expr_nonnegative_p (_q30))
    8156              :               {
    8157            0 :                 {
    8158            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8159            0 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8160            0 :                   if (res) return res;
    8161              :                 }
    8162              :               }
    8163              :           }
    8164          200 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8165              :           {
    8166            0 :             if (tree_expr_nonnegative_p (_q31))
    8167              :               {
    8168            0 :                 {
    8169            0 :                   tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8170            0 :                   tree res = generic_simplify_388 (loc, type, _p0, _p1, captures, LE_EXPR, BIT_AND_EXPR);
    8171            0 :                   if (res) return res;
    8172              :                 }
    8173              :               }
    8174              :           }
    8175              :         break;
    8176              :       }
    8177      6703668 :     default:;
    8178              :     }
    8179      6703668 :   switch (TREE_CODE (_p0))
    8180              :     {
    8181          988 :     case MAX_EXPR:
    8182          988 :       {
    8183          988 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8184          988 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8185          988 :         switch (TREE_CODE (_p1))
    8186              :           {
    8187            0 :           case MIN_EXPR:
    8188            0 :             {
    8189            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8190            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8191            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8192              :                 {
    8193            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8194              :                     {
    8195            0 :                       {
    8196            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8197            0 :                         tree res = generic_simplify_389 (loc, type, _p0, _p1, captures, LE_EXPR);
    8198            0 :                         if (res) return res;
    8199              :                       }
    8200              :                     }
    8201              :                 }
    8202              :               break;
    8203              :             }
    8204              :           default:;
    8205              :           }
    8206              :         break;
    8207              :       }
    8208         2983 :     case MIN_EXPR:
    8209         2983 :       {
    8210         2983 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8211         2983 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8212         2983 :         switch (TREE_CODE (_p1))
    8213              :           {
    8214           27 :           case MAX_EXPR:
    8215           27 :             {
    8216           27 :               tree _q50 = TREE_OPERAND (_p1, 0);
    8217           27 :               tree _q51 = TREE_OPERAND (_p1, 1);
    8218           27 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
    8219              :                 {
    8220            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
    8221              :                     {
    8222            0 :                       {
    8223            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8224            0 :                         tree res = generic_simplify_390 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    8225            0 :                         if (res) return res;
    8226              :                       }
    8227              :                     }
    8228              :                 }
    8229              :               break;
    8230              :             }
    8231         2983 :           default:;
    8232              :           }
    8233         2983 :         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_235 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8238            0 :               if (res) return res;
    8239              :             }
    8240              :           }
    8241         2983 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8242              :           {
    8243            1 :             {
    8244            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8245            1 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, LE_EXPR);
    8246            1 :               if (res) return res;
    8247              :             }
    8248              :           }
    8249              :         break;
    8250              :       }
    8251      6703667 :     default:;
    8252              :     }
    8253      6703667 :   switch (TREE_CODE (_p1))
    8254              :     {
    8255          202 :     case MAX_EXPR:
    8256          202 :       {
    8257          202 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8258          202 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8259          202 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8260              :           {
    8261            0 :             {
    8262            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8263            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8264            0 :               if (res) return res;
    8265              :             }
    8266              :           }
    8267          202 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8268              :           {
    8269            0 :             {
    8270            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8271            0 :               tree res = generic_simplify_235 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR, GE_EXPR);
    8272            0 :               if (res) return res;
    8273              :             }
    8274              :           }
    8275              :         break;
    8276              :       }
    8277         1748 :     case MIN_EXPR:
    8278         1748 :       {
    8279         1748 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8280         1748 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8281         1748 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    8282              :           {
    8283            0 :             {
    8284            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
    8285            0 :               tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8286            0 :               if (res) return res;
    8287              :             }
    8288              :           }
    8289         1748 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
    8290              :           {
    8291            0 :             {
    8292            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
    8293            0 :               tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR);
    8294            0 :               if (res) return res;
    8295              :             }
    8296              :           }
    8297              :         break;
    8298              :       }
    8299      6703667 :     default:;
    8300              :     }
    8301      6703667 :   switch (TREE_CODE (_p0))
    8302              :     {
    8303          988 :     case MAX_EXPR:
    8304          988 :       {
    8305          988 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8306          988 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8307          988 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8308              :           {
    8309            0 :             {
    8310            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8311            0 :               tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8312            0 :               if (res) return res;
    8313              :             }
    8314              :           }
    8315          988 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8316              :           {
    8317            2 :             {
    8318            2 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
    8319            2 :               tree res = generic_simplify_391 (loc, type, _p0, _p1, captures, MAX_EXPR, LE_EXPR);
    8320            2 :               if (res) return res;
    8321              :             }
    8322              :           }
    8323          986 :         switch (TREE_CODE (_q21))
    8324              :           {
    8325          802 :           case INTEGER_CST:
    8326          802 :             {
    8327          802 :               switch (TREE_CODE (_p1))
    8328              :                 {
    8329            0 :                 case INTEGER_CST:
    8330            0 :                   {
    8331            0 :                     {
    8332            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8333            0 :                       tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR);
    8334            0 :                       if (res) return res;
    8335              :                     }
    8336            0 :                     break;
    8337              :                   }
    8338              :                 default:;
    8339              :                 }
    8340              :               break;
    8341              :             }
    8342              :           default:;
    8343              :           }
    8344              :         break;
    8345              :       }
    8346         2982 :     case MIN_EXPR:
    8347         2982 :       {
    8348         2982 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8349         2982 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8350         2982 :         switch (TREE_CODE (_q21))
    8351              :           {
    8352         1004 :           case INTEGER_CST:
    8353         1004 :             {
    8354         1004 :               switch (TREE_CODE (_p1))
    8355              :                 {
    8356            0 :                 case INTEGER_CST:
    8357            0 :                   {
    8358            0 :                     {
    8359            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8360            0 :                       tree res = generic_simplify_392 (loc, type, _p0, _p1, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR);
    8361            0 :                       if (res) return res;
    8362              :                     }
    8363            0 :                     break;
    8364              :                   }
    8365              :                 default:;
    8366              :                 }
    8367              :               break;
    8368              :             }
    8369         2982 :           default:;
    8370              :           }
    8371         2982 :       if (tree_expr_nonnegative_p (_q21))
    8372              :         {
    8373         1034 :           if (integer_zerop (_p1))
    8374              :             {
    8375            0 :               {
    8376            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8377            0 :                 tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, MIN_EXPR);
    8378            0 :                 if (res) return res;
    8379              :               }
    8380              :             }
    8381              :         }
    8382         2982 :         if (tree_expr_nonnegative_p (_q20))
    8383              :           {
    8384          218 :             if (integer_zerop (_p1))
    8385              :               {
    8386            2 :                 {
    8387            2 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    8388            2 :                   tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, MIN_EXPR);
    8389            2 :                   if (res) return res;
    8390              :                 }
    8391              :               }
    8392              :           }
    8393              :         break;
    8394              :       }
    8395          838 :     case BIT_IOR_EXPR:
    8396          838 :       {
    8397          838 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8398          838 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8399          838 :         if (tree_expr_nonnegative_p (_q21))
    8400              :           {
    8401          217 :             if (integer_zerop (_p1))
    8402              :               {
    8403            0 :                 {
    8404            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8405            0 :                   tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8406            0 :                   if (res) return res;
    8407              :                 }
    8408              :               }
    8409              :           }
    8410          838 :         if (tree_expr_nonnegative_p (_q20))
    8411              :           {
    8412           62 :             if (integer_zerop (_p1))
    8413              :               {
    8414            0 :                 {
    8415            0 :                   tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
    8416            0 :                   tree res = generic_simplify_393 (loc, type, _p0, _p1, captures, GE_EXPR, BIT_IOR_EXPR);
    8417            0 :                   if (res) return res;
    8418              :                 }
    8419              :               }
    8420              :           }
    8421              :         break;
    8422              :       }
    8423      1038437 :     CASE_CONVERT:
    8424      1038437 :       {
    8425      1038437 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8426      1038437 :         switch (TREE_CODE (_q20))
    8427              :           {
    8428            0 :           case GE_EXPR:
    8429            0 :             {
    8430            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8431            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8432            0 :               if (tree_zero_one_valued_p (_q30))
    8433              :                 {
    8434            0 :                   if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    8435              :                     {
    8436            0 :                       {
    8437            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    8438            0 :                         tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GE_EXPR);
    8439            0 :                         if (res) return res;
    8440              :                       }
    8441              :                     }
    8442              :                 }
    8443              :               break;
    8444              :             }
    8445              :           default:;
    8446              :           }
    8447              :         break;
    8448              :       }
    8449           41 :     case GE_EXPR:
    8450           41 :       {
    8451           41 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8452           41 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8453           41 :         if (tree_zero_one_valued_p (_q20))
    8454              :           {
    8455           15 :             if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
    8456              :               {
    8457            3 :                 {
    8458            3 :                   tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
    8459            3 :                   tree res = generic_simplify_394 (loc, type, _p0, _p1, captures, GE_EXPR);
    8460            3 :                   if (res) return res;
    8461              :                 }
    8462              :               }
    8463              :           }
    8464              :         break;
    8465              :       }
    8466            6 :     case VEC_COND_EXPR:
    8467            6 :       {
    8468            6 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8469            6 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8470            6 :         tree _q22 = TREE_OPERAND (_p0, 2);
    8471            6 :         switch (TREE_CODE (_p1))
    8472              :           {
    8473            0 :           case VEC_COND_EXPR:
    8474            0 :             {
    8475            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
    8476            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
    8477            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
    8478            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
    8479              :                 {
    8480            0 :                   {
    8481            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
    8482            0 :                     if (VECTOR_TYPE_P (type)
    8483            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8484            0 :  || types_match (type, TREE_TYPE (captures[2]))
    8485            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8486              :  || (optimize_vectors_before_lowering_p ()
    8487            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8488              : )
    8489              :                       {
    8490            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1672;
    8491            0 :                         {
    8492            0 :                           tree res_op0;
    8493            0 :                           res_op0 = captures[1];
    8494            0 :                           tree res_op1;
    8495            0 :                           {
    8496            0 :                             tree _o1[2], _r1;
    8497            0 :                             _o1[0] = captures[2];
    8498            0 :                             _o1[1] = captures[5];
    8499            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8500            0 :                             if (EXPR_P (_r1))
    8501            0 :                               goto next_after_fail1672;
    8502            0 :                             res_op1 = _r1;
    8503              :                           }
    8504            0 :                           tree res_op2;
    8505            0 :                           {
    8506            0 :                             tree _o1[2], _r1;
    8507            0 :                             _o1[0] = captures[3];
    8508            0 :                             _o1[1] = captures[6];
    8509            0 :                             _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8510            0 :                             if (EXPR_P (_r1))
    8511            0 :                               goto next_after_fail1672;
    8512            0 :                             res_op2 = _r1;
    8513              :                           }
    8514            0 :                           tree _r;
    8515            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8516            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
    8517            0 :                           return _r;
    8518              :                         }
    8519            0 : next_after_fail1672:;
    8520              :                       }
    8521              :                   }
    8522              :                 }
    8523              :               break;
    8524              :             }
    8525            6 :           default:;
    8526              :           }
    8527            6 :         {
    8528            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
    8529            6 :           if (VECTOR_TYPE_P (type)
    8530            6 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8531            6 :  || types_match (type, TREE_TYPE (captures[2]))
    8532            6 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
    8533              :  || (optimize_vectors_before_lowering_p ()
    8534            2 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
    8535              : )
    8536              :             {
    8537            6 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1673;
    8538            6 :               {
    8539            6 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1673;
    8540            5 :                 tree res_op0;
    8541            5 :                 res_op0 = captures[1];
    8542            5 :                 tree res_op1;
    8543            5 :                 {
    8544            5 :                   tree _o1[2], _r1;
    8545            5 :                   _o1[0] = captures[2];
    8546            5 :                   _o1[1] = unshare_expr (captures[4]);
    8547            5 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8548            5 :                   if (EXPR_P (_r1))
    8549            1 :                     goto next_after_fail1673;
    8550            4 :                   res_op1 = _r1;
    8551              :                 }
    8552            4 :                 tree res_op2;
    8553            4 :                 {
    8554            4 :                   tree _o1[2], _r1;
    8555            4 :                   _o1[0] = captures[3];
    8556            4 :                   _o1[1] = captures[4];
    8557            4 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8558            4 :                   if (EXPR_P (_r1))
    8559            0 :                     goto next_after_fail1673;
    8560            4 :                   res_op2 = _r1;
    8561              :                 }
    8562            4 :                 tree _r;
    8563            4 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8564            4 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
    8565            4 :                 return _r;
    8566              :               }
    8567            2 : next_after_fail1673:;
    8568              :             }
    8569              :         }
    8570            2 :         break;
    8571              :       }
    8572      6703656 :     default:;
    8573              :     }
    8574      6703656 :   switch (TREE_CODE (_p1))
    8575              :     {
    8576            0 :     case VEC_COND_EXPR:
    8577            0 :       {
    8578            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    8579            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
    8580            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
    8581            0 :         {
    8582            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
    8583            0 :           if (VECTOR_TYPE_P (type)
    8584            0 :  && (TREE_CODE_CLASS (GE_EXPR) != tcc_comparison
    8585            0 :  || types_match (type, TREE_TYPE (captures[3]))
    8586            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
    8587              :  || (optimize_vectors_before_lowering_p ()
    8588            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
    8589              : )
    8590              :             {
    8591            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1674;
    8592            0 :               {
    8593            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1674;
    8594            0 :                 tree res_op0;
    8595            0 :                 res_op0 = captures[2];
    8596            0 :                 tree res_op1;
    8597            0 :                 {
    8598            0 :                   tree _o1[2], _r1;
    8599            0 :                   _o1[0] = unshare_expr (captures[0]);
    8600            0 :                   _o1[1] = captures[3];
    8601            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8602            0 :                   if (EXPR_P (_r1))
    8603            0 :                     goto next_after_fail1674;
    8604            0 :                   res_op1 = _r1;
    8605              :                 }
    8606            0 :                 tree res_op2;
    8607            0 :                 {
    8608            0 :                   tree _o1[2], _r1;
    8609            0 :                   _o1[0] = captures[0];
    8610            0 :                   _o1[1] = captures[4];
    8611            0 :                   _r1 = fold_build2_loc (loc, GE_EXPR, type, _o1[0], _o1[1]);
    8612            0 :                   if (EXPR_P (_r1))
    8613            0 :                     goto next_after_fail1674;
    8614            0 :                   res_op2 = _r1;
    8615              :                 }
    8616            0 :                 tree _r;
    8617            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
    8618            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
    8619            0 :                 return _r;
    8620              :               }
    8621            0 : next_after_fail1674:;
    8622              :             }
    8623              :         }
    8624            0 :         break;
    8625              :       }
    8626      6703656 :     default:;
    8627              :     }
    8628      6703656 : if (uniform_integer_cst_p (_p1))
    8629              :   {
    8630      3394583 :     {
    8631      3394583 :       tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8632      3394583 :       tree res = generic_simplify_395 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
    8633      3394583 :       if (res) return res;
    8634              :     }
    8635              :   }
    8636      5177204 :   switch (TREE_CODE (_p0))
    8637              :     {
    8638        23378 :     case MULT_EXPR:
    8639        23378 :       {
    8640        23378 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8641        23378 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8642        23378 :         switch (TREE_CODE (_q21))
    8643              :           {
    8644        19457 :           case INTEGER_CST:
    8645        19457 :             {
    8646        19457 :               if (integer_zerop (_p1))
    8647              :                 {
    8648         2754 :                   {
    8649         2754 :                     tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    8650         2754 :                     tree res = generic_simplify_255 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8651         2754 :                     if (res) return res;
    8652              :                   }
    8653              :                 }
    8654              :               break;
    8655              :             }
    8656              :           default:;
    8657              :           }
    8658              :         break;
    8659              :       }
    8660      5176908 :     default:;
    8661              :     }
    8662      5176908 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    8663              :     {
    8664        39881 :       {
    8665        39881 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    8666        39881 :         tree res = generic_simplify_257 (loc, type, _p0, _p1, captures, GE_EXPR);
    8667        39881 :         if (res) return res;
    8668              :       }
    8669              :     }
    8670      5137069 :   switch (TREE_CODE (_p0))
    8671              :     {
    8672          423 :     case BIT_NOT_EXPR:
    8673          423 :       {
    8674          423 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8675          423 :         switch (TREE_CODE (_p1))
    8676              :           {
    8677            1 :           case BIT_NOT_EXPR:
    8678            1 :             {
    8679            1 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8680            1 :               {
    8681            1 :                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1, _q40 };
    8682            1 :                 tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GE_EXPR);
    8683            1 :                 if (res) return res;
    8684              :               }
    8685            0 :               break;
    8686              :             }
    8687          422 :           default:;
    8688              :           }
    8689          422 :       {
    8690          422 :         tree _p1_pops[1];
    8691          422 :         if (tree_nop_convert (_p1, _p1_pops))
    8692              :           {
    8693           50 :             tree _q40 = _p1_pops[0];
    8694           50 :             switch (TREE_CODE (_q40))
    8695              :               {
    8696            0 :               case BIT_NOT_EXPR:
    8697            0 :                 {
    8698            0 :                   tree _q50 = TREE_OPERAND (_q40, 0);
    8699            0 :                   {
    8700            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q50 };
    8701            0 :                     tree res = generic_simplify_261 (loc, type, _p0, _p1, captures, GE_EXPR);
    8702            0 :                     if (res) return res;
    8703              :                   }
    8704            0 :                   break;
    8705              :                 }
    8706              :               default:;
    8707              :               }
    8708              :           }
    8709              :       }
    8710          422 :       if (CONSTANT_CLASS_P (_p1))
    8711              :         {
    8712           98 :           {
    8713           98 :             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8714           98 :             tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8715           98 :             if (res) return res;
    8716              :           }
    8717              :         }
    8718              :         break;
    8719              :       }
    8720      5136970 :     default:;
    8721              :     }
    8722      5136970 : {
    8723      5136970 :   tree _p0_pops[1];
    8724      5136970 :   if (tree_nop_convert (_p0, _p0_pops))
    8725              :     {
    8726       239457 :       tree _q20 = _p0_pops[0];
    8727       239457 :       switch (TREE_CODE (_q20))
    8728              :         {
    8729            4 :         case BIT_NOT_EXPR:
    8730            4 :           {
    8731            4 :             tree _q30 = TREE_OPERAND (_q20, 0);
    8732            4 :             switch (TREE_CODE (_p1))
    8733              :               {
    8734            0 :               case BIT_NOT_EXPR:
    8735            0 :                 {
    8736            0 :                   tree _q50 = TREE_OPERAND (_p1, 0);
    8737            0 :                   {
    8738            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1, _q50 };
    8739            0 :                     tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GE_EXPR);
    8740            0 :                     if (res) return res;
    8741              :                   }
    8742            0 :                   break;
    8743              :                 }
    8744            4 :               default:;
    8745              :               }
    8746            4 :           {
    8747            4 :             tree _p1_pops[1];
    8748            4 :             if (tree_nop_convert (_p1, _p1_pops))
    8749              :               {
    8750            0 :                 tree _q50 = _p1_pops[0];
    8751            0 :                 switch (TREE_CODE (_q50))
    8752              :                   {
    8753            0 :                   case BIT_NOT_EXPR:
    8754            0 :                     {
    8755            0 :                       tree _q60 = TREE_OPERAND (_q50, 0);
    8756            0 :                       {
    8757            0 :                         tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q60 };
    8758            0 :                         tree res = generic_simplify_259 (loc, type, _p0, _p1, captures, GE_EXPR);
    8759            0 :                         if (res) return res;
    8760              :                       }
    8761            0 :                       break;
    8762              :                     }
    8763              :                   default:;
    8764              :                   }
    8765              :               }
    8766              :           }
    8767            4 :           if (CONSTANT_CLASS_P (_p1))
    8768              :             {
    8769            0 :               {
    8770            0 :                 tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
    8771            0 :                 tree res = generic_simplify_260 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8772            0 :                 if (res) return res;
    8773              :               }
    8774              :             }
    8775              :             break;
    8776              :           }
    8777              :         default:;
    8778              :         }
    8779              :     }
    8780              : }
    8781      5136970 :   switch (TREE_CODE (_p1))
    8782              :     {
    8783       653670 :     case REAL_CST:
    8784       653670 :       {
    8785       653670 :         {
    8786       653670 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    8787       653670 :           tree res = generic_simplify_262 (loc, type, _p0, _p1, captures, GE_EXPR);
    8788       653670 :           if (res) return res;
    8789              :         }
    8790       653587 :         break;
    8791              :       }
    8792      5136887 :     default:;
    8793              :     }
    8794      5136887 :   switch (TREE_CODE (_p0))
    8795              :     {
    8796       678264 :     case PLUS_EXPR:
    8797       678264 :       {
    8798       678264 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8799       678264 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8800       678264 :         switch (TREE_CODE (_q21))
    8801              :           {
    8802          168 :           case REAL_CST:
    8803          168 :             {
    8804          168 :               switch (TREE_CODE (_p1))
    8805              :                 {
    8806           20 :                 case REAL_CST:
    8807           20 :                   {
    8808           20 :                     {
    8809           20 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8810           20 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, PLUS_EXPR, GE_EXPR);
    8811           20 :                       if (res) return res;
    8812              :                     }
    8813           20 :                     break;
    8814              :                   }
    8815              :                 default:;
    8816              :                 }
    8817              :               break;
    8818              :             }
    8819       565393 :           case INTEGER_CST:
    8820       565393 :             {
    8821       565393 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
    8822              :                 {
    8823        16008 :                   {
    8824        16008 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
    8825        16008 :                     tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    8826        16008 :                     if (res) return res;
    8827              :                   }
    8828              :                 }
    8829              :               break;
    8830              :             }
    8831              :           default:;
    8832              :           }
    8833              :         break;
    8834              :       }
    8835        58689 :     case MINUS_EXPR:
    8836        58689 :       {
    8837        58689 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8838        58689 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8839        58689 :         switch (TREE_CODE (_q21))
    8840              :           {
    8841           31 :           case REAL_CST:
    8842           31 :             {
    8843           31 :               switch (TREE_CODE (_p1))
    8844              :                 {
    8845           31 :                 case REAL_CST:
    8846           31 :                   {
    8847           31 :                     {
    8848           31 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8849           31 :                       tree res = generic_simplify_263 (loc, type, _p0, _p1, captures, MINUS_EXPR, GE_EXPR);
    8850           31 :                       if (res) return res;
    8851              :                     }
    8852           31 :                     break;
    8853              :                   }
    8854              :                 default:;
    8855              :                 }
    8856              :               break;
    8857              :             }
    8858        58689 :           default:;
    8859              :           }
    8860        58689 :         switch (TREE_CODE (_q20))
    8861              :           {
    8862           24 :           case REAL_CST:
    8863           24 :             {
    8864           24 :               switch (TREE_CODE (_p1))
    8865              :                 {
    8866            0 :                 case REAL_CST:
    8867            0 :                   {
    8868            0 :                     {
    8869            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8870            0 :                       tree res = generic_simplify_264 (loc, type, _p0, _p1, captures, GE_EXPR);
    8871            0 :                       if (res) return res;
    8872              :                     }
    8873            0 :                     break;
    8874              :                   }
    8875              :                 default:;
    8876              :                 }
    8877              :               break;
    8878              :             }
    8879              :           default:;
    8880              :           }
    8881              :         break;
    8882              :       }
    8883        40349 :     case FLOAT_EXPR:
    8884        40349 :       {
    8885        40349 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8886        40349 :         switch (TREE_CODE (_p1))
    8887              :           {
    8888            8 :           case FLOAT_EXPR:
    8889            8 :             {
    8890            8 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8891            8 :               {
    8892            8 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8893            8 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8894            8 :                 if (res) return res;
    8895              :               }
    8896            1 :               break;
    8897              :             }
    8898        38869 :           case REAL_CST:
    8899        38869 :             {
    8900        38869 :               {
    8901        38869 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    8902        38869 :                 tree res = generic_simplify_268 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
    8903        38869 :                 if (res) return res;
    8904              :               }
    8905        19459 :               break;
    8906              :             }
    8907              :           default:;
    8908              :           }
    8909              :         break;
    8910              :       }
    8911         8379 :     case EXACT_DIV_EXPR:
    8912         8379 :       {
    8913         8379 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8914         8379 :         tree _q21 = TREE_OPERAND (_p0, 1);
    8915         8379 :         switch (TREE_CODE (_q21))
    8916              :           {
    8917         8379 :           case INTEGER_CST:
    8918         8379 :             {
    8919         8379 :               switch (TREE_CODE (_p1))
    8920              :                 {
    8921            0 :                 case INTEGER_CST:
    8922            0 :                   {
    8923            0 :                     {
    8924            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    8925            0 :                       tree res = generic_simplify_397 (loc, type, _p0, _p1, captures, GE_EXPR);
    8926            0 :                       if (res) return res;
    8927              :                     }
    8928            0 :                     break;
    8929              :                   }
    8930              :                 default:;
    8931              :                 }
    8932              :               break;
    8933              :             }
    8934              :           default:;
    8935              :           }
    8936              :         break;
    8937              :       }
    8938       627217 :     CASE_CONVERT:
    8939       627217 :       {
    8940       627217 :         tree _q20 = TREE_OPERAND (_p0, 0);
    8941       627217 :         switch (TREE_CODE (_q20))
    8942              :           {
    8943          157 :           case EXACT_DIV_EXPR:
    8944          157 :             {
    8945          157 :               tree _q30 = TREE_OPERAND (_q20, 0);
    8946          157 :               tree _q31 = TREE_OPERAND (_q20, 1);
    8947          157 :               switch (TREE_CODE (_q31))
    8948              :                 {
    8949          157 :                 case INTEGER_CST:
    8950          157 :                   {
    8951          157 :                     switch (TREE_CODE (_p1))
    8952              :                       {
    8953            0 :                       case INTEGER_CST:
    8954            0 :                         {
    8955            0 :                           {
    8956            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
    8957            0 :                             tree res = generic_simplify_398 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
    8958            0 :                             if (res) return res;
    8959              :                           }
    8960            0 :                           break;
    8961              :                         }
    8962              :                       default:;
    8963              :                       }
    8964              :                     break;
    8965              :                   }
    8966              :                 default:;
    8967              :                 }
    8968              :               break;
    8969              :             }
    8970       627217 :           default:;
    8971              :           }
    8972       627217 :         switch (TREE_CODE (_p1))
    8973              :           {
    8974       100436 :           CASE_CONVERT:
    8975       100436 :             {
    8976       100436 :               tree _q40 = TREE_OPERAND (_p1, 0);
    8977       100436 :               {
    8978       100436 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
    8979       100436 :                 tree res = generic_simplify_272 (loc, type, _p0, _p1, captures, GE_EXPR);
    8980       100436 :                 if (res) return res;
    8981              :               }
    8982        61810 :               break;
    8983              :             }
    8984       588591 :           default:;
    8985              :           }
    8986       588591 :         {
    8987       588591 :           tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
    8988       588591 :           tree res = generic_simplify_273 (loc, type, _p0, _p1, captures, GE_EXPR);
    8989       588591 :           if (res) return res;
    8990              :         }
    8991       322186 :         switch (TREE_CODE (_q20))
    8992              :           {
    8993         3740 :           case ADDR_EXPR:
    8994         3740 :             {
    8995         3740 :               switch (TREE_CODE (_p1))
    8996              :                 {
    8997         3669 :                 CASE_CONVERT:
    8998         3669 :                   {
    8999         3669 :                     tree _q40 = TREE_OPERAND (_p1, 0);
    9000         3669 :                     switch (TREE_CODE (_q40))
    9001              :                       {
    9002         3669 :                       case ADDR_EXPR:
    9003         3669 :                         {
    9004         3669 :                           {
    9005         3669 :                             tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
    9006         3669 :                             tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GE_EXPR);
    9007         3669 :                             if (res) return res;
    9008              :                           }
    9009          257 :                           break;
    9010              :                         }
    9011              :                       default:;
    9012              :                       }
    9013              :                     break;
    9014              :                   }
    9015            7 :                 case ADDR_EXPR:
    9016            7 :                   {
    9017            7 :                     {
    9018            7 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9019            7 :                       tree res = generic_simplify_291 (loc, type, _p0, _p1, captures, GE_EXPR);
    9020            7 :                       if (res) return res;
    9021              :                     }
    9022            0 :                     break;
    9023              :                   }
    9024              :                 default:;
    9025              :                 }
    9026              :               break;
    9027              :             }
    9028       318767 :           default:;
    9029              :           }
    9030       318767 :         if (uniform_integer_cst_p (_p1))
    9031              :           {
    9032       101698 :             {
    9033       101698 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9034       101698 :               tree res = generic_simplify_399 (loc, type, _p0, _p1, captures, GE_EXPR);
    9035       101698 :               if (res) return res;
    9036              :             }
    9037              :           }
    9038              :         break;
    9039              :       }
    9040          791 :     case NEGATE_EXPR:
    9041          791 :       {
    9042          791 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9043          791 :         switch (TREE_CODE (_p1))
    9044              :           {
    9045            0 :           case NEGATE_EXPR:
    9046            0 :             {
    9047            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
    9048            0 :               {
    9049            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9050            0 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9051            0 :                 if (res) return res;
    9052              :               }
    9053            0 :               break;
    9054              :             }
    9055          791 :           default:;
    9056              :           }
    9057          791 :       if (CONSTANT_CLASS_P (_p1))
    9058              :         {
    9059          254 :           {
    9060          254 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9061          254 :             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9062          254 :             if (res) return res;
    9063              :           }
    9064              :         }
    9065              :         break;
    9066              :       }
    9067         7701 :     case ADDR_EXPR:
    9068         7701 :       {
    9069         7701 :         switch (TREE_CODE (_p1))
    9070              :           {
    9071            0 :           CASE_CONVERT:
    9072            0 :             {
    9073            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
    9074            0 :               switch (TREE_CODE (_q30))
    9075              :                 {
    9076            0 :                 case ADDR_EXPR:
    9077            0 :                   {
    9078            0 :                     {
    9079            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
    9080            0 :                       tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, GE_EXPR);
    9081            0 :                       if (res) return res;
    9082              :                     }
    9083            0 :                     break;
    9084              :                   }
    9085              :                 default:;
    9086              :                 }
    9087              :               break;
    9088              :             }
    9089         7303 :           case ADDR_EXPR:
    9090         7303 :             {
    9091         7303 :               {
    9092         7303 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9093         7303 :                 tree res = generic_simplify_292 (loc, type, _p0, _p1, captures, GE_EXPR);
    9094         7303 :                 if (res) return res;
    9095              :               }
    9096          116 :               break;
    9097              :             }
    9098              :           default:;
    9099              :           }
    9100              :         break;
    9101              :       }
    9102       237357 :     case CALL_EXPR:
    9103       237357 :       switch (get_call_combined_fn (_p0))
    9104              :         {
    9105            2 :         case CFN_BUILT_IN_SQRTF:
    9106            2 :           if (call_expr_nargs (_p0) == 1)
    9107              :     {
    9108            2 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9109            2 :               switch (TREE_CODE (_p1))
    9110              :                 {
    9111            2 :                 case REAL_CST:
    9112            2 :                   {
    9113            2 :                     {
    9114            2 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9115            2 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9116            2 :                       if (res) return res;
    9117              :                     }
    9118            0 :                     break;
    9119              :                   }
    9120            0 :                 case CALL_EXPR:
    9121            0 :                   switch (get_call_combined_fn (_p1))
    9122              :                     {
    9123            0 :                     case CFN_BUILT_IN_SQRTF:
    9124            0 :                       if (call_expr_nargs (_p1) == 1)
    9125              :     {
    9126            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9127            0 :                           {
    9128            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9129            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTF, GE_EXPR);
    9130            0 :                             if (res) return res;
    9131              :                           }
    9132              :                         }
    9133              :                       break;
    9134              :                     default:;
    9135              :                     }
    9136              :                   break;
    9137              :                 default:;
    9138              :                 }
    9139              :             }
    9140              :           break;
    9141            0 :         case CFN_BUILT_IN_SQRTL:
    9142            0 :           if (call_expr_nargs (_p0) == 1)
    9143              :     {
    9144            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9145            0 :               switch (TREE_CODE (_p1))
    9146              :                 {
    9147            0 :                 case REAL_CST:
    9148            0 :                   {
    9149            0 :                     {
    9150            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9151            0 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9152            0 :                       if (res) return res;
    9153              :                     }
    9154            0 :                     break;
    9155              :                   }
    9156            0 :                 case CALL_EXPR:
    9157            0 :                   switch (get_call_combined_fn (_p1))
    9158              :                     {
    9159            0 :                     case CFN_BUILT_IN_SQRTL:
    9160            0 :                       if (call_expr_nargs (_p1) == 1)
    9161              :     {
    9162            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9163            0 :                           {
    9164            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9165            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRTL, GE_EXPR);
    9166            0 :                             if (res) return res;
    9167              :                           }
    9168              :                         }
    9169              :                       break;
    9170              :                     default:;
    9171              :                     }
    9172              :                   break;
    9173              :                 default:;
    9174              :                 }
    9175              :             }
    9176              :           break;
    9177            1 :         case CFN_BUILT_IN_SQRT:
    9178            1 :           if (call_expr_nargs (_p0) == 1)
    9179              :     {
    9180            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9181            1 :               switch (TREE_CODE (_p1))
    9182              :                 {
    9183            1 :                 case REAL_CST:
    9184            1 :                   {
    9185            1 :                     {
    9186            1 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9187            1 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9188            1 :                       if (res) return res;
    9189              :                     }
    9190            1 :                     break;
    9191              :                   }
    9192            0 :                 case CALL_EXPR:
    9193            0 :                   switch (get_call_combined_fn (_p1))
    9194              :                     {
    9195            0 :                     case CFN_BUILT_IN_SQRT:
    9196            0 :                       if (call_expr_nargs (_p1) == 1)
    9197              :     {
    9198            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9199            0 :                           {
    9200            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9201            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_SQRT, GE_EXPR);
    9202            0 :                             if (res) return res;
    9203              :                           }
    9204              :                         }
    9205              :                       break;
    9206              :                     default:;
    9207              :                     }
    9208              :                   break;
    9209              :                 default:;
    9210              :                 }
    9211              :             }
    9212              :           break;
    9213            0 :         case CFN_SQRT:
    9214            0 :           if (call_expr_nargs (_p0) == 1)
    9215              :     {
    9216            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9217            0 :               switch (TREE_CODE (_p1))
    9218              :                 {
    9219            0 :                 case REAL_CST:
    9220            0 :                   {
    9221            0 :                     {
    9222            0 :                       tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
    9223            0 :                       tree res = generic_simplify_265 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9224            0 :                       if (res) return res;
    9225              :                     }
    9226            0 :                     break;
    9227              :                   }
    9228            0 :                 case CALL_EXPR:
    9229            0 :                   switch (get_call_combined_fn (_p1))
    9230              :                     {
    9231            0 :                     case CFN_SQRT:
    9232            0 :                       if (call_expr_nargs (_p1) == 1)
    9233              :     {
    9234            0 :                           tree _q40 = CALL_EXPR_ARG (_p1, 0);
    9235            0 :                           {
    9236            0 :                             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
    9237            0 :                             tree res = generic_simplify_266 (loc, type, _p0, _p1, captures, CFN_SQRT, GE_EXPR);
    9238            0 :                             if (res) return res;
    9239              :                           }
    9240              :                         }
    9241              :                       break;
    9242              :                     default:;
    9243              :                     }
    9244              :                   break;
    9245              :                 default:;
    9246              :                 }
    9247              :             }
    9248              :           break;
    9249              :         default:;
    9250              :         }
    9251              :       break;
    9252      4775333 :     default:;
    9253              :     }
    9254      4775333 :   if (uniform_integer_cst_p (_p1))
    9255              :     {
    9256      1591040 :       {
    9257      1591040 :         tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
    9258      1591040 :         tree res = generic_simplify_400 (loc, type, _p0, _p1, captures, GE_EXPR);
    9259      1591040 :         if (res) return res;
    9260              :       }
    9261              :     }
    9262      4472076 :   switch (TREE_CODE (_p0))
    9263              :     {
    9264       307614 :     CASE_CONVERT:
    9265       307614 :       {
    9266       307614 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9267       307614 :         switch (TREE_CODE (_q20))
    9268              :           {
    9269        30002 :           case PLUS_EXPR:
    9270        30002 :             {
    9271        30002 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9272        30002 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9273        30002 :               switch (TREE_CODE (_q30))
    9274              :                 {
    9275        21479 :                 CASE_CONVERT:
    9276        21479 :                   {
    9277        21479 :                     tree _q40 = TREE_OPERAND (_q30, 0);
    9278        21479 :                     switch (TREE_CODE (_q31))
    9279              :                       {
    9280        21478 :                       case INTEGER_CST:
    9281        21478 :                         {
    9282        21478 :                           if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
    9283              :                             {
    9284          148 :                               {
    9285          148 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
    9286          148 :                                 tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9287          148 :                                 if (res) return res;
    9288              :                               }
    9289              :                             }
    9290              :                           break;
    9291              :                         }
    9292              :                       default:;
    9293              :                       }
    9294              :                     break;
    9295              :                   }
    9296              :                 default:;
    9297              :                 }
    9298              :               break;
    9299              :             }
    9300              :           default:;
    9301              :           }
    9302              :         break;
    9303              :       }
    9304      4472003 :     default:;
    9305              :     }
    9306      4472003 :   switch (TREE_CODE (_p1))
    9307              :     {
    9308       227095 :     CASE_CONVERT:
    9309       227095 :       {
    9310       227095 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9311       227095 :         switch (TREE_CODE (_q30))
    9312              :           {
    9313          317 :           case PLUS_EXPR:
    9314          317 :             {
    9315          317 :               tree _q40 = TREE_OPERAND (_q30, 0);
    9316          317 :               tree _q41 = TREE_OPERAND (_q30, 1);
    9317          317 :               switch (TREE_CODE (_q40))
    9318              :                 {
    9319          219 :                 CASE_CONVERT:
    9320          219 :                   {
    9321          219 :                     tree _q50 = TREE_OPERAND (_q40, 0);
    9322          219 :                     if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
    9323              :                       {
    9324            0 :                         switch (TREE_CODE (_q41))
    9325              :                           {
    9326            0 :                           case INTEGER_CST:
    9327            0 :                             {
    9328            0 :                               {
    9329            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
    9330            0 :                                 tree res = generic_simplify_401 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9331            0 :                                 if (res) return res;
    9332              :                               }
    9333            0 :                               break;
    9334              :                             }
    9335              :                           default:;
    9336              :                           }
    9337              :                       }
    9338              :                     break;
    9339              :                   }
    9340              :                 default:;
    9341              :                 }
    9342              :               break;
    9343              :             }
    9344              :           default:;
    9345              :           }
    9346              :         break;
    9347              :       }
    9348        59149 :     case PLUS_EXPR:
    9349        59149 :       {
    9350        59149 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9351        59149 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9352        59149 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9353              :           {
    9354            0 :             switch (TREE_CODE (_q31))
    9355              :               {
    9356            0 :               case INTEGER_CST:
    9357            0 :                 {
    9358            0 :                   {
    9359            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
    9360            0 :                     tree res = generic_simplify_396 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
    9361            0 :                     if (res) return res;
    9362              :                   }
    9363            0 :                   break;
    9364              :                 }
    9365              :               default:;
    9366              :               }
    9367              :           }
    9368              :         break;
    9369              :       }
    9370         2619 :     case MINUS_EXPR:
    9371         2619 :       {
    9372         2619 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9373         2619 :         tree _q31 = TREE_OPERAND (_p1, 1);
    9374         2619 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
    9375              :           {
    9376            0 :             {
    9377            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
    9378            0 :               tree res = generic_simplify_402 (loc, type, _p0, _p1, captures, LE_EXPR);
    9379            0 :               if (res) return res;
    9380              :             }
    9381              :           }
    9382              :         break;
    9383              :       }
    9384      4472003 :     default:;
    9385              :     }
    9386      4472003 :   switch (TREE_CODE (_p0))
    9387              :     {
    9388       589041 :     case PLUS_EXPR:
    9389       589041 :       {
    9390       589041 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9391       589041 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9392       589041 :         switch (TREE_CODE (_q20))
    9393              :           {
    9394          141 :           case MINUS_EXPR:
    9395          141 :             {
    9396          141 :               tree _q30 = TREE_OPERAND (_q20, 0);
    9397          141 :               tree _q31 = TREE_OPERAND (_q20, 1);
    9398          141 :               if (integer_minus_onep (_q21))
    9399              :                 {
    9400            1 :                   if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9401              :                     {
    9402            1 :                       {
    9403            1 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
    9404            1 :                         tree res = generic_simplify_403 (loc, type, _p0, _p1, captures, GE_EXPR);
    9405            1 :                         if (res) return res;
    9406              :                       }
    9407              :                     }
    9408              :                 }
    9409              :               break;
    9410              :             }
    9411              :           default:;
    9412              :           }
    9413              :         break;
    9414              :       }
    9415      4472002 :     default:;
    9416              :     }
    9417      4472002 :   switch (TREE_CODE (_p1))
    9418              :     {
    9419            0 :     case REALPART_EXPR:
    9420            0 :       {
    9421            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
    9422            0 :         switch (TREE_CODE (_q30))
    9423              :           {
    9424            0 :           case CALL_EXPR:
    9425            0 :             switch (get_call_combined_fn (_q30))
    9426              :               {
    9427            0 :               case CFN_SUB_OVERFLOW:
    9428            0 :                 if (call_expr_nargs (_q30) == 2)
    9429              :     {
    9430            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
    9431            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
    9432            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
    9433              :                       {
    9434            0 :                         {
    9435            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
    9436            0 :                           tree res = generic_simplify_404 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
    9437            0 :                           if (res) return res;
    9438              :                         }
    9439              :                       }
    9440              :                   }
    9441              :                 break;
    9442              :               default:;
    9443              :               }
    9444              :             break;
    9445              :           default:;
    9446              :           }
    9447              :         break;
    9448              :       }
    9449      4472002 :     default:;
    9450              :     }
    9451      4472002 :   switch (TREE_CODE (_p0))
    9452              :     {
    9453            0 :     case REALPART_EXPR:
    9454            0 :       {
    9455            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9456            0 :         switch (TREE_CODE (_q20))
    9457              :           {
    9458            0 :           case CALL_EXPR:
    9459            0 :             switch (get_call_combined_fn (_q20))
    9460              :               {
    9461            0 :               case CFN_ADD_OVERFLOW:
    9462            0 :                 if (call_expr_nargs (_q20) == 2)
    9463              :     {
    9464            0 :                     tree _q30 = CALL_EXPR_ARG (_q20, 0);
    9465            0 :                     tree _q31 = CALL_EXPR_ARG (_q20, 1);
    9466            0 :                     if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
    9467              :                       {
    9468            0 :                         {
    9469            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
    9470            0 :                           tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9471            0 :                           if (res) return res;
    9472              :                         }
    9473              :                       }
    9474            0 :                     if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
    9475              :                       {
    9476            0 :                         {
    9477            0 :                           tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
    9478            0 :                           tree res = generic_simplify_405 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9479            0 :                           if (res) return res;
    9480              :                         }
    9481              :                       }
    9482              :                   }
    9483              :                 break;
    9484              :               default:;
    9485              :               }
    9486              :             break;
    9487              :           default:;
    9488              :           }
    9489              :         break;
    9490              :       }
    9491         1448 :     case TRUNC_DIV_EXPR:
    9492         1448 :       {
    9493         1448 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9494         1448 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9495         1448 :         if (integer_all_onesp (_q20))
    9496              :           {
    9497           33 :             {
    9498           33 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
    9499           33 :               tree res = generic_simplify_406 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
    9500           33 :               if (res) return res;
    9501              :             }
    9502              :           }
    9503              :         break;
    9504              :       }
    9505        21602 :     case MULT_EXPR:
    9506        21602 :       {
    9507        21602 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9508        21602 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9509        21602 :         switch (TREE_CODE (_q21))
    9510              :           {
    9511          305 :           case REAL_CST:
    9512          305 :             {
    9513          305 :               switch (TREE_CODE (_p1))
    9514              :                 {
    9515           43 :                 case REAL_CST:
    9516           43 :                   {
    9517           43 :                     {
    9518           43 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9519           43 :                       tree res = generic_simplify_407 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9520           43 :                       if (res) return res;
    9521              :                     }
    9522           43 :                     break;
    9523              :                   }
    9524              :                 default:;
    9525              :                 }
    9526              :               break;
    9527              :             }
    9528              :           default:;
    9529              :           }
    9530              :         break;
    9531              :       }
    9532          151 :     case REAL_CST:
    9533          151 :       {
    9534          151 :         switch (TREE_CODE (_p1))
    9535              :           {
    9536            0 :           case CALL_EXPR:
    9537            0 :             switch (get_call_combined_fn (_p1))
    9538              :               {
    9539            0 :               case CFN_BUILT_IN_EXP:
    9540            0 :                 if (call_expr_nargs (_p1) == 1)
    9541              :     {
    9542            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9543            0 :                     {
    9544            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9545            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9546            0 :                       if (res) return res;
    9547              :                     }
    9548              :                   }
    9549              :                 break;
    9550            0 :               case CFN_BUILT_IN_LOG:
    9551            0 :                 if (call_expr_nargs (_p1) == 1)
    9552              :     {
    9553            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9554            0 :                     {
    9555            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9556            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, LE_EXPR);
    9557            0 :                       if (res) return res;
    9558              :                     }
    9559              :                   }
    9560              :                 break;
    9561            0 :               case CFN_BUILT_IN_EXP10F:
    9562            0 :                 if (call_expr_nargs (_p1) == 1)
    9563              :     {
    9564            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9565            0 :                     {
    9566            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9567            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9568            0 :                       if (res) return res;
    9569              :                     }
    9570              :                   }
    9571              :                 break;
    9572            0 :               case CFN_BUILT_IN_EXP10L:
    9573            0 :                 if (call_expr_nargs (_p1) == 1)
    9574              :     {
    9575            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9576            0 :                     {
    9577            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9578            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9579            0 :                       if (res) return res;
    9580              :                     }
    9581              :                   }
    9582              :                 break;
    9583            0 :               case CFN_BUILT_IN_EXP2:
    9584            0 :                 if (call_expr_nargs (_p1) == 1)
    9585              :     {
    9586            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9587            0 :                     {
    9588            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9589            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9590            0 :                       if (res) return res;
    9591              :                     }
    9592              :                   }
    9593              :                 break;
    9594            0 :               case CFN_BUILT_IN_EXPF:
    9595            0 :                 if (call_expr_nargs (_p1) == 1)
    9596              :     {
    9597            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9598            0 :                     {
    9599            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9600            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9601            0 :                       if (res) return res;
    9602              :                     }
    9603              :                   }
    9604              :                 break;
    9605            0 :               case CFN_BUILT_IN_EXPL:
    9606            0 :                 if (call_expr_nargs (_p1) == 1)
    9607              :     {
    9608            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9609            0 :                     {
    9610            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9611            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9612            0 :                       if (res) return res;
    9613              :                     }
    9614              :                   }
    9615              :                 break;
    9616            0 :               case CFN_BUILT_IN_LOG2:
    9617            0 :                 if (call_expr_nargs (_p1) == 1)
    9618              :     {
    9619            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9620            0 :                     {
    9621            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9622            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, LE_EXPR);
    9623            0 :                       if (res) return res;
    9624              :                     }
    9625              :                   }
    9626              :                 break;
    9627            0 :               case CFN_BUILT_IN_LOGF:
    9628            0 :                 if (call_expr_nargs (_p1) == 1)
    9629              :     {
    9630            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9631            0 :                     {
    9632            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9633            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, LE_EXPR);
    9634            0 :                       if (res) return res;
    9635              :                     }
    9636              :                   }
    9637              :                 break;
    9638            0 :               case CFN_BUILT_IN_LOGL:
    9639            0 :                 if (call_expr_nargs (_p1) == 1)
    9640              :     {
    9641            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9642            0 :                     {
    9643            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9644            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, LE_EXPR);
    9645            0 :                       if (res) return res;
    9646              :                     }
    9647              :                   }
    9648              :                 break;
    9649            0 :               case CFN_BUILT_IN_LOG10F:
    9650            0 :                 if (call_expr_nargs (_p1) == 1)
    9651              :     {
    9652            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9653            0 :                     {
    9654            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9655            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, LE_EXPR);
    9656            0 :                       if (res) return res;
    9657              :                     }
    9658              :                   }
    9659              :                 break;
    9660            0 :               case CFN_BUILT_IN_LOG10L:
    9661            0 :                 if (call_expr_nargs (_p1) == 1)
    9662              :     {
    9663            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9664            0 :                     {
    9665            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9666            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, LE_EXPR);
    9667            0 :                       if (res) return res;
    9668              :                     }
    9669              :                   }
    9670              :                 break;
    9671            0 :               case CFN_EXP:
    9672            0 :                 if (call_expr_nargs (_p1) == 1)
    9673              :     {
    9674            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9675            0 :                     {
    9676            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9677            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9678            0 :                       if (res) return res;
    9679              :                     }
    9680              :                   }
    9681              :                 break;
    9682            0 :               case CFN_LOG:
    9683            0 :                 if (call_expr_nargs (_p1) == 1)
    9684              :     {
    9685            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9686            0 :                     {
    9687            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9688            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, LE_EXPR);
    9689            0 :                       if (res) return res;
    9690              :                     }
    9691              :                   }
    9692              :                 break;
    9693            0 :               case CFN_EXP2:
    9694            0 :                 if (call_expr_nargs (_p1) == 1)
    9695              :     {
    9696            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9697            0 :                     {
    9698            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9699            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9700            0 :                       if (res) return res;
    9701              :                     }
    9702              :                   }
    9703              :                 break;
    9704            0 :               case CFN_LOG2:
    9705            0 :                 if (call_expr_nargs (_p1) == 1)
    9706              :     {
    9707            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9708            0 :                     {
    9709            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9710            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, LE_EXPR);
    9711            0 :                       if (res) return res;
    9712              :                     }
    9713              :                   }
    9714              :                 break;
    9715            0 :               case CFN_EXP10:
    9716            0 :                 if (call_expr_nargs (_p1) == 1)
    9717              :     {
    9718            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9719            0 :                     {
    9720            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9721            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9722            0 :                       if (res) return res;
    9723              :                     }
    9724              :                   }
    9725              :                 break;
    9726            0 :               case CFN_LOG10:
    9727            0 :                 if (call_expr_nargs (_p1) == 1)
    9728              :     {
    9729            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9730            0 :                     {
    9731            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9732            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, LE_EXPR);
    9733            0 :                       if (res) return res;
    9734              :                     }
    9735              :                   }
    9736              :                 break;
    9737            0 :               case CFN_BUILT_IN_EXP10:
    9738            0 :                 if (call_expr_nargs (_p1) == 1)
    9739              :     {
    9740            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9741            0 :                     {
    9742            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9743            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9744            0 :                       if (res) return res;
    9745              :                     }
    9746              :                   }
    9747              :                 break;
    9748            0 :               case CFN_BUILT_IN_EXP2F:
    9749            0 :                 if (call_expr_nargs (_p1) == 1)
    9750              :     {
    9751            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9752            0 :                     {
    9753            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9754            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9755            0 :                       if (res) return res;
    9756              :                     }
    9757              :                   }
    9758              :                 break;
    9759            0 :               case CFN_BUILT_IN_EXP2L:
    9760            0 :                 if (call_expr_nargs (_p1) == 1)
    9761              :     {
    9762            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9763            0 :                     {
    9764            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9765            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9766            0 :                       if (res) return res;
    9767              :                     }
    9768              :                   }
    9769              :                 break;
    9770            0 :               case CFN_BUILT_IN_LOG10:
    9771            0 :                 if (call_expr_nargs (_p1) == 1)
    9772              :     {
    9773            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9774            0 :                     {
    9775            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9776            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, LE_EXPR);
    9777            0 :                       if (res) return res;
    9778              :                     }
    9779              :                   }
    9780              :                 break;
    9781            0 :               case CFN_BUILT_IN_LOG2F:
    9782            0 :                 if (call_expr_nargs (_p1) == 1)
    9783              :     {
    9784            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9785            0 :                     {
    9786            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9787            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, LE_EXPR);
    9788            0 :                       if (res) return res;
    9789              :                     }
    9790              :                   }
    9791              :                 break;
    9792            0 :               case CFN_BUILT_IN_LOG2L:
    9793            0 :                 if (call_expr_nargs (_p1) == 1)
    9794              :     {
    9795            0 :                     tree _q30 = CALL_EXPR_ARG (_p1, 0);
    9796            0 :                     {
    9797            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
    9798            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, LE_EXPR);
    9799            0 :                       if (res) return res;
    9800              :                     }
    9801              :                   }
    9802              :                 break;
    9803              :               default:;
    9804              :               }
    9805              :             break;
    9806              :           default:;
    9807              :           }
    9808              :         break;
    9809              :       }
    9810       589040 :     case PLUS_EXPR:
    9811       589040 :       {
    9812       589040 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9813       589040 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9814       589040 :         switch (TREE_CODE (_q21))
    9815              :           {
    9816       476169 :           case INTEGER_CST:
    9817       476169 :             {
    9818       476169 :               switch (TREE_CODE (_p1))
    9819              :                 {
    9820       117520 :                 case INTEGER_CST:
    9821       117520 :                   {
    9822       117520 :                     {
    9823       117520 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9824       117520 :                       tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR, LE_EXPR);
    9825       117520 :                       if (res) return res;
    9826              :                     }
    9827        55936 :                     break;
    9828              :                   }
    9829              :                 default:;
    9830              :                 }
    9831              :               break;
    9832              :             }
    9833              :           default:;
    9834              :           }
    9835              :         break;
    9836              :       }
    9837        58245 :     case MINUS_EXPR:
    9838        58245 :       {
    9839        58245 :         tree _q20 = TREE_OPERAND (_p0, 0);
    9840        58245 :         tree _q21 = TREE_OPERAND (_p0, 1);
    9841        58245 :         switch (TREE_CODE (_q21))
    9842              :           {
    9843            7 :           case INTEGER_CST:
    9844            7 :             {
    9845            7 :               switch (TREE_CODE (_p1))
    9846              :                 {
    9847            7 :                 case INTEGER_CST:
    9848            7 :                   {
    9849            7 :                     {
    9850            7 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
    9851            7 :                       tree res = generic_simplify_408 (loc, type, _p0, _p1, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR, LE_EXPR);
    9852            7 :                       if (res) return res;
    9853              :                     }
    9854            0 :                     break;
    9855              :                   }
    9856              :                 default:;
    9857              :                 }
    9858              :               break;
    9859              :             }
    9860        58238 :           default:;
    9861              :           }
    9862        58238 :         switch (TREE_CODE (_q20))
    9863              :           {
    9864         1580 :           case INTEGER_CST:
    9865         1580 :             {
    9866         1580 :               switch (TREE_CODE (_p1))
    9867              :                 {
    9868          543 :                 case INTEGER_CST:
    9869          543 :                   {
    9870          543 :                     {
    9871          543 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
    9872          543 :                       tree res = generic_simplify_298 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
    9873          543 :                       if (res) return res;
    9874              :                     }
    9875            0 :                     break;
    9876              :                   }
    9877              :                 default:;
    9878              :                 }
    9879              :               break;
    9880              :             }
    9881              :           default:;
    9882              :           }
    9883              :         break;
    9884              :       }
    9885       236967 :     case CALL_EXPR:
    9886       236967 :       switch (get_call_combined_fn (_p0))
    9887              :         {
    9888            1 :         case CFN_BUILT_IN_CTZ:
    9889            1 :           if (call_expr_nargs (_p0) == 1)
    9890              :     {
    9891            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9892            1 :               switch (TREE_CODE (_p1))
    9893              :                 {
    9894            1 :                 case INTEGER_CST:
    9895            1 :                   {
    9896            1 :                     {
    9897            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9898            1 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ);
    9899            1 :                       if (res) return res;
    9900              :                     }
    9901            0 :                     break;
    9902              :                   }
    9903              :                 default:;
    9904              :                 }
    9905              :             }
    9906              :           break;
    9907            1 :         case CFN_BUILT_IN_EXP:
    9908            1 :           if (call_expr_nargs (_p0) == 1)
    9909              :     {
    9910            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9911            1 :               switch (TREE_CODE (_p1))
    9912              :                 {
    9913            1 :                 case REAL_CST:
    9914            1 :                   {
    9915            1 :                     {
    9916            1 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9917            1 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9918            1 :                       if (res) return res;
    9919              :                     }
    9920            1 :                     break;
    9921              :                   }
    9922              :                 default:;
    9923              :                 }
    9924              :             }
    9925              :           break;
    9926            1 :         case CFN_BUILT_IN_LOG:
    9927            1 :           if (call_expr_nargs (_p0) == 1)
    9928              :     {
    9929            1 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9930            1 :               switch (TREE_CODE (_p1))
    9931              :                 {
    9932            0 :                 case REAL_CST:
    9933            0 :                   {
    9934            0 :                     {
    9935            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9936            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP, GE_EXPR);
    9937            0 :                       if (res) return res;
    9938              :                     }
    9939            0 :                     break;
    9940              :                   }
    9941              :                 default:;
    9942              :                 }
    9943              :             }
    9944              :           break;
    9945            0 :         case CFN_BUILT_IN_EXP10F:
    9946            0 :           if (call_expr_nargs (_p0) == 1)
    9947              :     {
    9948            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9949            0 :               switch (TREE_CODE (_p1))
    9950              :                 {
    9951            0 :                 case REAL_CST:
    9952            0 :                   {
    9953            0 :                     {
    9954            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9955            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
    9956            0 :                       if (res) return res;
    9957              :                     }
    9958            0 :                     break;
    9959              :                   }
    9960              :                 default:;
    9961              :                 }
    9962              :             }
    9963              :           break;
    9964            0 :         case CFN_BUILT_IN_EXP10L:
    9965            0 :           if (call_expr_nargs (_p0) == 1)
    9966              :     {
    9967            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9968            0 :               switch (TREE_CODE (_p1))
    9969              :                 {
    9970            0 :                 case REAL_CST:
    9971            0 :                   {
    9972            0 :                     {
    9973            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9974            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
    9975            0 :                       if (res) return res;
    9976              :                     }
    9977            0 :                     break;
    9978              :                   }
    9979              :                 default:;
    9980              :                 }
    9981              :             }
    9982              :           break;
    9983            0 :         case CFN_BUILT_IN_CTZL:
    9984            0 :           if (call_expr_nargs (_p0) == 1)
    9985              :     {
    9986            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
    9987            0 :               switch (TREE_CODE (_p1))
    9988              :                 {
    9989            0 :                 case INTEGER_CST:
    9990            0 :                   {
    9991            0 :                     {
    9992            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
    9993            0 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL);
    9994            0 :                       if (res) return res;
    9995              :                     }
    9996            0 :                     break;
    9997              :                   }
    9998              :                 default:;
    9999              :                 }
   10000              :             }
   10001              :           break;
   10002            0 :         case CFN_BUILT_IN_EXP2:
   10003            0 :           if (call_expr_nargs (_p0) == 1)
   10004              :     {
   10005            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10006            0 :               switch (TREE_CODE (_p1))
   10007              :                 {
   10008            0 :                 case REAL_CST:
   10009            0 :                   {
   10010            0 :                     {
   10011            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10012            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
   10013            0 :                       if (res) return res;
   10014              :                     }
   10015            0 :                     break;
   10016              :                   }
   10017              :                 default:;
   10018              :                 }
   10019              :             }
   10020              :           break;
   10021            0 :         case CFN_BUILT_IN_EXPF:
   10022            0 :           if (call_expr_nargs (_p0) == 1)
   10023              :     {
   10024            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10025            0 :               switch (TREE_CODE (_p1))
   10026              :                 {
   10027            0 :                 case REAL_CST:
   10028            0 :                   {
   10029            0 :                     {
   10030            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10031            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
   10032            0 :                       if (res) return res;
   10033              :                     }
   10034            0 :                     break;
   10035              :                   }
   10036              :                 default:;
   10037              :                 }
   10038              :             }
   10039              :           break;
   10040            0 :         case CFN_BUILT_IN_EXPL:
   10041            0 :           if (call_expr_nargs (_p0) == 1)
   10042              :     {
   10043            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10044            0 :               switch (TREE_CODE (_p1))
   10045              :                 {
   10046            0 :                 case REAL_CST:
   10047            0 :                   {
   10048            0 :                     {
   10049            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10050            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
   10051            0 :                       if (res) return res;
   10052              :                     }
   10053            0 :                     break;
   10054              :                   }
   10055              :                 default:;
   10056              :                 }
   10057              :             }
   10058              :           break;
   10059            0 :         case CFN_BUILT_IN_LOG2:
   10060            0 :           if (call_expr_nargs (_p0) == 1)
   10061              :     {
   10062            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10063            0 :               switch (TREE_CODE (_p1))
   10064              :                 {
   10065            0 :                 case REAL_CST:
   10066            0 :                   {
   10067            0 :                     {
   10068            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10069            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_EXP2, GE_EXPR);
   10070            0 :                       if (res) return res;
   10071              :                     }
   10072            0 :                     break;
   10073              :                   }
   10074              :                 default:;
   10075              :                 }
   10076              :             }
   10077              :           break;
   10078            0 :         case CFN_BUILT_IN_LOGF:
   10079            0 :           if (call_expr_nargs (_p0) == 1)
   10080              :     {
   10081            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10082            0 :               switch (TREE_CODE (_p1))
   10083              :                 {
   10084            0 :                 case REAL_CST:
   10085            0 :                   {
   10086            0 :                     {
   10087            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10088            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXPF, GE_EXPR);
   10089            0 :                       if (res) return res;
   10090              :                     }
   10091            0 :                     break;
   10092              :                   }
   10093              :                 default:;
   10094              :                 }
   10095              :             }
   10096              :           break;
   10097            0 :         case CFN_BUILT_IN_LOGL:
   10098            0 :           if (call_expr_nargs (_p0) == 1)
   10099              :     {
   10100            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10101            0 :               switch (TREE_CODE (_p1))
   10102              :                 {
   10103            0 :                 case REAL_CST:
   10104            0 :                   {
   10105            0 :                     {
   10106            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10107            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXPL, GE_EXPR);
   10108            0 :                       if (res) return res;
   10109              :                     }
   10110            0 :                     break;
   10111              :                   }
   10112              :                 default:;
   10113              :                 }
   10114              :             }
   10115              :           break;
   10116            0 :         case CFN_BUILT_IN_LOG10F:
   10117            0 :           if (call_expr_nargs (_p0) == 1)
   10118              :     {
   10119            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10120            0 :               switch (TREE_CODE (_p1))
   10121              :                 {
   10122            0 :                 case REAL_CST:
   10123            0 :                   {
   10124            0 :                     {
   10125            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10126            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_EXP10F, GE_EXPR);
   10127            0 :                       if (res) return res;
   10128              :                     }
   10129            0 :                     break;
   10130              :                   }
   10131              :                 default:;
   10132              :                 }
   10133              :             }
   10134              :           break;
   10135            0 :         case CFN_BUILT_IN_LOG10L:
   10136            0 :           if (call_expr_nargs (_p0) == 1)
   10137              :     {
   10138            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10139            0 :               switch (TREE_CODE (_p1))
   10140              :                 {
   10141            0 :                 case REAL_CST:
   10142            0 :                   {
   10143            0 :                     {
   10144            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10145            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_EXP10L, GE_EXPR);
   10146            0 :                       if (res) return res;
   10147              :                     }
   10148            0 :                     break;
   10149              :                   }
   10150              :                 default:;
   10151              :                 }
   10152              :             }
   10153              :           break;
   10154            0 :         case CFN_BUILT_IN_CTZIMAX:
   10155            0 :           if (call_expr_nargs (_p0) == 1)
   10156              :     {
   10157            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10158            0 :               switch (TREE_CODE (_p1))
   10159              :                 {
   10160            0 :                 case INTEGER_CST:
   10161            0 :                   {
   10162            0 :                     {
   10163            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10164            0 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX);
   10165            0 :                       if (res) return res;
   10166              :                     }
   10167            0 :                     break;
   10168              :                   }
   10169              :                 default:;
   10170              :                 }
   10171              :             }
   10172              :           break;
   10173            0 :         case CFN_CTZ:
   10174            0 :           if (call_expr_nargs (_p0) == 2)
   10175              :     {
   10176            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10177            0 :               tree _q21 = CALL_EXPR_ARG (_p0, 1);
   10178            0 :               switch (TREE_CODE (_p1))
   10179              :                 {
   10180            0 :                 case INTEGER_CST:
   10181            0 :                   {
   10182            0 :                     {
   10183            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
   10184            0 :                       tree res = generic_simplify_410 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
   10185            0 :                       if (res) return res;
   10186              :                     }
   10187            0 :                     break;
   10188              :                   }
   10189              :                 default:;
   10190              :                 }
   10191              :             }
   10192            0 :           if (call_expr_nargs (_p0) == 1)
   10193              :     {
   10194            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10195            0 :               switch (TREE_CODE (_p1))
   10196              :                 {
   10197            0 :                 case INTEGER_CST:
   10198            0 :                   {
   10199            0 :                     {
   10200            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10201            0 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_CTZ);
   10202            0 :                       if (res) return res;
   10203              :                     }
   10204            0 :                     break;
   10205              :                   }
   10206              :                 default:;
   10207              :                 }
   10208              :             }
   10209              :           break;
   10210            0 :         case CFN_EXP:
   10211            0 :           if (call_expr_nargs (_p0) == 1)
   10212              :     {
   10213            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10214            0 :               switch (TREE_CODE (_p1))
   10215              :                 {
   10216            0 :                 case REAL_CST:
   10217            0 :                   {
   10218            0 :                     {
   10219            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10220            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10221            0 :                       if (res) return res;
   10222              :                     }
   10223            0 :                     break;
   10224              :                   }
   10225              :                 default:;
   10226              :                 }
   10227              :             }
   10228              :           break;
   10229            0 :         case CFN_LOG:
   10230            0 :           if (call_expr_nargs (_p0) == 1)
   10231              :     {
   10232            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10233            0 :               switch (TREE_CODE (_p1))
   10234              :                 {
   10235            0 :                 case REAL_CST:
   10236            0 :                   {
   10237            0 :                     {
   10238            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10239            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG, CFN_EXP, GE_EXPR);
   10240            0 :                       if (res) return res;
   10241              :                     }
   10242            0 :                     break;
   10243              :                   }
   10244              :                 default:;
   10245              :                 }
   10246              :             }
   10247              :           break;
   10248            0 :         case CFN_EXP2:
   10249            0 :           if (call_expr_nargs (_p0) == 1)
   10250              :     {
   10251            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10252            0 :               switch (TREE_CODE (_p1))
   10253              :                 {
   10254            0 :                 case REAL_CST:
   10255            0 :                   {
   10256            0 :                     {
   10257            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10258            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10259            0 :                       if (res) return res;
   10260              :                     }
   10261            0 :                     break;
   10262              :                   }
   10263              :                 default:;
   10264              :                 }
   10265              :             }
   10266              :           break;
   10267            0 :         case CFN_LOG2:
   10268            0 :           if (call_expr_nargs (_p0) == 1)
   10269              :     {
   10270            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10271            0 :               switch (TREE_CODE (_p1))
   10272              :                 {
   10273            0 :                 case REAL_CST:
   10274            0 :                   {
   10275            0 :                     {
   10276            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10277            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG2, CFN_EXP2, GE_EXPR);
   10278            0 :                       if (res) return res;
   10279              :                     }
   10280            0 :                     break;
   10281              :                   }
   10282              :                 default:;
   10283              :                 }
   10284              :             }
   10285              :           break;
   10286            0 :         case CFN_EXP10:
   10287            0 :           if (call_expr_nargs (_p0) == 1)
   10288              :     {
   10289            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10290            0 :               switch (TREE_CODE (_p1))
   10291              :                 {
   10292            0 :                 case REAL_CST:
   10293            0 :                   {
   10294            0 :                     {
   10295            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10296            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10297            0 :                       if (res) return res;
   10298              :                     }
   10299            0 :                     break;
   10300              :                   }
   10301              :                 default:;
   10302              :                 }
   10303              :             }
   10304              :           break;
   10305            0 :         case CFN_BUILT_IN_CTZLL:
   10306            0 :           if (call_expr_nargs (_p0) == 1)
   10307              :     {
   10308            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10309            0 :               switch (TREE_CODE (_p1))
   10310              :                 {
   10311            0 :                 case INTEGER_CST:
   10312            0 :                   {
   10313            0 :                     {
   10314            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10315            0 :                       tree res = generic_simplify_409 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL);
   10316            0 :                       if (res) return res;
   10317              :                     }
   10318            0 :                     break;
   10319              :                   }
   10320              :                 default:;
   10321              :                 }
   10322              :             }
   10323              :           break;
   10324            0 :         case CFN_LOG10:
   10325            0 :           if (call_expr_nargs (_p0) == 1)
   10326              :     {
   10327            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10328            0 :               switch (TREE_CODE (_p1))
   10329              :                 {
   10330            0 :                 case REAL_CST:
   10331            0 :                   {
   10332            0 :                     {
   10333            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10334            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_LOG10, CFN_EXP10, GE_EXPR);
   10335            0 :                       if (res) return res;
   10336              :                     }
   10337            0 :                     break;
   10338              :                   }
   10339              :                 default:;
   10340              :                 }
   10341              :             }
   10342              :           break;
   10343            0 :         case CFN_BUILT_IN_EXP10:
   10344            0 :           if (call_expr_nargs (_p0) == 1)
   10345              :     {
   10346            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10347            0 :               switch (TREE_CODE (_p1))
   10348              :                 {
   10349            0 :                 case REAL_CST:
   10350            0 :                   {
   10351            0 :                     {
   10352            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10353            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10354            0 :                       if (res) return res;
   10355              :                     }
   10356            0 :                     break;
   10357              :                   }
   10358              :                 default:;
   10359              :                 }
   10360              :             }
   10361              :           break;
   10362            0 :         case CFN_BUILT_IN_EXP2F:
   10363            0 :           if (call_expr_nargs (_p0) == 1)
   10364              :     {
   10365            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10366            0 :               switch (TREE_CODE (_p1))
   10367              :                 {
   10368            0 :                 case REAL_CST:
   10369            0 :                   {
   10370            0 :                     {
   10371            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10372            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10373            0 :                       if (res) return res;
   10374              :                     }
   10375            0 :                     break;
   10376              :                   }
   10377              :                 default:;
   10378              :                 }
   10379              :             }
   10380              :           break;
   10381            0 :         case CFN_BUILT_IN_EXP2L:
   10382            0 :           if (call_expr_nargs (_p0) == 1)
   10383              :     {
   10384            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10385            0 :               switch (TREE_CODE (_p1))
   10386              :                 {
   10387            0 :                 case REAL_CST:
   10388            0 :                   {
   10389            0 :                     {
   10390            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10391            0 :                       tree res = generic_simplify_420 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10392            0 :                       if (res) return res;
   10393              :                     }
   10394            0 :                     break;
   10395              :                   }
   10396              :                 default:;
   10397              :                 }
   10398              :             }
   10399              :           break;
   10400            0 :         case CFN_BUILT_IN_LOG10:
   10401            0 :           if (call_expr_nargs (_p0) == 1)
   10402              :     {
   10403            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10404            0 :               switch (TREE_CODE (_p1))
   10405              :                 {
   10406            0 :                 case REAL_CST:
   10407            0 :                   {
   10408            0 :                     {
   10409            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10410            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_EXP10, GE_EXPR);
   10411            0 :                       if (res) return res;
   10412              :                     }
   10413            0 :                     break;
   10414              :                   }
   10415              :                 default:;
   10416              :                 }
   10417              :             }
   10418              :           break;
   10419            0 :         case CFN_BUILT_IN_LOG2F:
   10420            0 :           if (call_expr_nargs (_p0) == 1)
   10421              :     {
   10422            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10423            0 :               switch (TREE_CODE (_p1))
   10424              :                 {
   10425            0 :                 case REAL_CST:
   10426            0 :                   {
   10427            0 :                     {
   10428            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10429            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_EXP2F, GE_EXPR);
   10430            0 :                       if (res) return res;
   10431              :                     }
   10432            0 :                     break;
   10433              :                   }
   10434              :                 default:;
   10435              :                 }
   10436              :             }
   10437              :           break;
   10438            0 :         case CFN_BUILT_IN_LOG2L:
   10439            0 :           if (call_expr_nargs (_p0) == 1)
   10440              :     {
   10441            0 :               tree _q20 = CALL_EXPR_ARG (_p0, 0);
   10442            0 :               switch (TREE_CODE (_p1))
   10443              :                 {
   10444            0 :                 case REAL_CST:
   10445            0 :                   {
   10446            0 :                     {
   10447            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
   10448            0 :                       tree res = generic_simplify_419 (loc, type, _p0, _p1, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_EXP2L, GE_EXPR);
   10449            0 :                       if (res) return res;
   10450              :                     }
   10451            0 :                     break;
   10452              :                   }
   10453              :                 default:;
   10454              :                 }
   10455              :             }
   10456              :           break;
   10457              :         default:;
   10458              :         }
   10459              :       break;
   10460              :     default:;
   10461              :     }
   10462              :   return NULL_TREE;
   10463              : }
   10464              : 
   10465              : tree
   10466       389408 : generic_simplify_MAX_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   10467              : {
   10468       389408 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   10469       389408 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   10470              :     {
   10471            0 :       {
   10472            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10473            0 :         tree res = generic_simplify_527 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10474            0 :         if (res) return res;
   10475              :       }
   10476              :     }
   10477       389408 :   switch (TREE_CODE (_p0))
   10478              :     {
   10479          112 :     case MAX_EXPR:
   10480          112 :       {
   10481          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10482          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10483          112 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10484              :           {
   10485            0 :             {
   10486            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
   10487            0 :               tree res = generic_simplify_528 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10488            0 :               if (res) return res;
   10489              :             }
   10490              :           }
   10491          112 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10492              :           {
   10493            0 :             {
   10494            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
   10495            0 :               tree res = generic_simplify_528 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10496            0 :               if (res) return res;
   10497              :             }
   10498              :           }
   10499              :         break;
   10500              :       }
   10501       389408 :     default:;
   10502              :     }
   10503       389408 :   switch (TREE_CODE (_p1))
   10504              :     {
   10505            0 :     case MAX_EXPR:
   10506            0 :       {
   10507            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10508            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10509            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10510              :           {
   10511            0 :             {
   10512            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
   10513            0 :               tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10514            0 :               if (res) return res;
   10515              :             }
   10516              :           }
   10517            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10518              :           {
   10519            0 :             {
   10520            0 :               tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
   10521            0 :               tree res = generic_simplify_529 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10522            0 :               if (res) return res;
   10523              :             }
   10524              :           }
   10525              :         break;
   10526              :       }
   10527       389408 :     default:;
   10528              :     }
   10529       389408 :   switch (TREE_CODE (_p0))
   10530              :     {
   10531         3477 :     case MIN_EXPR:
   10532         3477 :       {
   10533         3477 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10534         3477 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10535         3477 :         if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
   10536              :           {
   10537            1 :             {
   10538            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10539            1 :               tree res = generic_simplify_544 (loc, type, _p0, _p1, captures);
   10540            1 :               if (res) return res;
   10541              :             }
   10542              :           }
   10543         3476 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10544              :           {
   10545            1 :             {
   10546            1 :               tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10547            1 :               tree res = generic_simplify_544 (loc, type, _p0, _p1, captures);
   10548            1 :               if (res) return res;
   10549              :             }
   10550              :           }
   10551              :         break;
   10552              :       }
   10553       389406 :     default:;
   10554              :     }
   10555       389406 :   switch (TREE_CODE (_p1))
   10556              :     {
   10557            0 :     case MIN_EXPR:
   10558            0 :       {
   10559            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10560            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10561            0 :         if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
   10562              :           {
   10563            0 :             {
   10564            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
   10565            0 :               tree res = generic_simplify_544 (loc, type, _p0, _p1, captures);
   10566            0 :               if (res) return res;
   10567              :             }
   10568              :           }
   10569            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10570              :           {
   10571            0 :             {
   10572            0 :               tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
   10573            0 :               tree res = generic_simplify_544 (loc, type, _p0, _p1, captures);
   10574            0 :               if (res) return res;
   10575              :             }
   10576              :           }
   10577              :         break;
   10578              :       }
   10579            0 :     case NEGATE_EXPR:
   10580            0 :       {
   10581            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10582            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10583              :           {
   10584            0 :             {
   10585            0 :               tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   10586            0 :               tree res = generic_simplify_545 (loc, type, _p0, _p1, captures);
   10587            0 :               if (res) return res;
   10588              :             }
   10589              :           }
   10590              :         break;
   10591              :       }
   10592       389406 :     default:;
   10593              :     }
   10594       389406 :   switch (TREE_CODE (_p0))
   10595              :     {
   10596           76 :     case NEGATE_EXPR:
   10597           76 :       {
   10598           76 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10599           76 :         if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10600              :           {
   10601            2 :             {
   10602            2 :               tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
   10603            2 :               tree res = generic_simplify_545 (loc, type, _p0, _p1, captures);
   10604            2 :               if (res) return res;
   10605              :             }
   10606              :           }
   10607              :         break;
   10608              :       }
   10609       389404 :     default:;
   10610              :     }
   10611       389404 :   {
   10612       389404 :     tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   10613       389404 :     if (INTEGRAL_TYPE_P (type)
   10614       387450 :  && TYPE_MAX_VALUE (type)
   10615       776854 :  && operand_equal_p (captures[1], TYPE_MAX_VALUE (type), OEP_ONLY_CONST)
   10616              : )
   10617              :       {
   10618            0 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1798;
   10619            0 :         {
   10620            0 :           tree _r;
   10621            0 :           _r = captures[1];
   10622            0 :           if (TREE_SIDE_EFFECTS (captures[0]))
   10623            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   10624            0 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
   10625            0 :           return _r;
   10626              :         }
   10627            0 : next_after_fail1798:;
   10628              :       }
   10629              :     else
   10630              :       {
   10631       389404 :         if (INTEGRAL_TYPE_P (type)
   10632       387450 :  && TYPE_MIN_VALUE (type)
   10633       776854 :  && operand_equal_p (captures[1], TYPE_MIN_VALUE (type), OEP_ONLY_CONST)
   10634              : )
   10635              :           {
   10636        30849 :             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1799;
   10637        30849 :             {
   10638        30849 :               tree _r;
   10639        30849 :               _r = captures[0];
   10640        30849 :               if (TREE_SIDE_EFFECTS (captures[1]))
   10641            0 :                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   10642        30849 :               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
   10643        30849 :               return _r;
   10644              :             }
   10645            0 : next_after_fail1799:;
   10646              :           }
   10647              :       }
   10648              :   }
   10649       358555 :   switch (TREE_CODE (_p0))
   10650              :     {
   10651        23485 :     case PLUS_EXPR:
   10652        23485 :       {
   10653        23485 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10654        23485 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10655        23485 :         switch (TREE_CODE (_p1))
   10656              :           {
   10657           14 :           case PLUS_EXPR:
   10658           14 :             {
   10659           14 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10660           14 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10661           14 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10662              :                 {
   10663            0 :                   {
   10664            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10665            0 :                     tree res = generic_simplify_532 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10666            0 :                     if (res) return res;
   10667              :                   }
   10668            0 :                   {
   10669            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   10670            0 :                     tree res = generic_simplify_532 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10671            0 :                     if (res) return res;
   10672              :                   }
   10673              :                 }
   10674           14 :               if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10675              :                 {
   10676            0 :                   {
   10677            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
   10678            0 :                     tree res = generic_simplify_532 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10679            0 :                     if (res) return res;
   10680              :                   }
   10681              :                 }
   10682           14 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10683              :                 {
   10684            0 :                   {
   10685            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
   10686            0 :                     tree res = generic_simplify_532 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10687            0 :                     if (res) return res;
   10688              :                   }
   10689              :                 }
   10690              :               break;
   10691              :             }
   10692        23485 :           default:;
   10693              :           }
   10694        23485 :         switch (TREE_CODE (_q21))
   10695              :           {
   10696        23447 :           case INTEGER_CST:
   10697        23447 :             {
   10698        23447 :               if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   10699              :                 {
   10700           11 :                   {
   10701           11 :                     tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
   10702           11 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   10703              : )
   10704              :                       {
   10705            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   10706              : )
   10707              :                           {
   10708            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1800;
   10709            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1800;
   10710            0 :                             {
   10711            0 :                               tree _r;
   10712            0 :                               _r = captures[1];
   10713            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   10714            0 :                               return _r;
   10715              :                             }
   10716           11 : next_after_fail1800:;
   10717              :                           }
   10718              :                         else
   10719              :                           {
   10720            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1801;
   10721            0 :                             {
   10722            0 :                               tree _r;
   10723            0 :                               _r = captures[0];
   10724            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   10725            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10726            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   10727            0 :                               return _r;
   10728              :                             }
   10729            0 : next_after_fail1801:;
   10730              :                           }
   10731              :                       }
   10732              :                   }
   10733              :                 }
   10734              :               break;
   10735              :             }
   10736              :           default:;
   10737              :           }
   10738              :         break;
   10739              :       }
   10740         8211 :     case MINUS_EXPR:
   10741         8211 :       {
   10742         8211 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10743         8211 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10744         8211 :         switch (TREE_CODE (_p1))
   10745              :           {
   10746            0 :           case MINUS_EXPR:
   10747            0 :             {
   10748            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10749            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10750            0 :               if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10751              :                 {
   10752            0 :                   {
   10753            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
   10754            0 :                     tree res = generic_simplify_533 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10755            0 :                     if (res) return res;
   10756              :                   }
   10757            0 :                   {
   10758            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
   10759            0 :                     tree res = generic_simplify_533 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10760            0 :                     if (res) return res;
   10761              :                   }
   10762              :                 }
   10763              :               break;
   10764              :             }
   10765              :           default:;
   10766              :           }
   10767              :         break;
   10768              :       }
   10769       358555 :     default:;
   10770              :     }
   10771       358555 :   switch (TREE_CODE (_p1))
   10772              :     {
   10773          110 :     case PLUS_EXPR:
   10774          110 :       {
   10775          110 :         tree _q30 = TREE_OPERAND (_p1, 0);
   10776          110 :         tree _q31 = TREE_OPERAND (_p1, 1);
   10777          110 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   10778              :           {
   10779            0 :             switch (TREE_CODE (_q31))
   10780              :               {
   10781            0 :               case INTEGER_CST:
   10782            0 :                 {
   10783            0 :                   {
   10784            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   10785            0 :                     if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
   10786              : )
   10787              :                       {
   10788            0 :                         if (tree_int_cst_sgn (captures[2]) > 0
   10789              : )
   10790              :                           {
   10791            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1802;
   10792            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1802;
   10793            0 :                             {
   10794            0 :                               tree _r;
   10795            0 :                               _r = captures[1];
   10796            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
   10797            0 :                               return _r;
   10798              :                             }
   10799            0 : next_after_fail1802:;
   10800              :                           }
   10801              :                         else
   10802              :                           {
   10803            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1803;
   10804            0 :                             {
   10805            0 :                               tree _r;
   10806            0 :                               _r = captures[0];
   10807            0 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   10808            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   10809            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
   10810            0 :                               return _r;
   10811              :                             }
   10812            0 : next_after_fail1803:;
   10813              :                           }
   10814              :                       }
   10815              :                   }
   10816            0 :                   break;
   10817              :                 }
   10818              :               default:;
   10819              :               }
   10820              :           }
   10821              :         break;
   10822              :       }
   10823       358555 :     default:;
   10824              :     }
   10825       358555 :   switch (TREE_CODE (_p0))
   10826              :     {
   10827         3475 :     case MIN_EXPR:
   10828         3475 :       {
   10829         3475 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10830         3475 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10831         3475 :         switch (TREE_CODE (_p1))
   10832              :           {
   10833            0 :           case MAX_EXPR:
   10834            0 :             {
   10835            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10836            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10837            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10838              :                 {
   10839            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10840              :                     {
   10841            0 :                       {
   10842            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10843            0 :                         if (!HONOR_NANS (captures[0])
   10844              : )
   10845              :                           {
   10846            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1804;
   10847            0 :                             {
   10848            0 :                               tree res_op0;
   10849            0 :                               res_op0 = captures[0];
   10850            0 :                               tree res_op1;
   10851            0 :                               res_op1 = captures[1];
   10852            0 :                               tree _r;
   10853            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   10854            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
   10855            0 :                               return _r;
   10856              :                             }
   10857            0 : next_after_fail1804:;
   10858              :                           }
   10859              :                       }
   10860              :                     }
   10861              :                 }
   10862            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10863              :                 {
   10864            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10865              :                     {
   10866            0 :                       {
   10867            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
   10868            0 :                         if (!HONOR_NANS (captures[0])
   10869              : )
   10870              :                           {
   10871            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1805;
   10872            0 :                             {
   10873            0 :                               tree res_op0;
   10874            0 :                               res_op0 = captures[0];
   10875            0 :                               tree res_op1;
   10876            0 :                               res_op1 = captures[1];
   10877            0 :                               tree _r;
   10878            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   10879            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
   10880            0 :                               return _r;
   10881              :                             }
   10882            0 : next_after_fail1805:;
   10883              :                           }
   10884              :                       }
   10885              :                     }
   10886              :                 }
   10887              :               break;
   10888              :             }
   10889              :           default:;
   10890              :           }
   10891              :         break;
   10892              :       }
   10893          112 :     case MAX_EXPR:
   10894          112 :       {
   10895          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10896          112 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10897          112 :         switch (TREE_CODE (_p1))
   10898              :           {
   10899            0 :           case MIN_EXPR:
   10900            0 :             {
   10901            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   10902            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   10903            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10904              :                 {
   10905            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   10906              :                     {
   10907            0 :                       {
   10908            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10909            0 :                         if (!HONOR_NANS (captures[0])
   10910              : )
   10911              :                           {
   10912            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1806;
   10913            0 :                             {
   10914            0 :                               tree res_op0;
   10915            0 :                               res_op0 = captures[0];
   10916            0 :                               tree res_op1;
   10917            0 :                               res_op1 = captures[1];
   10918            0 :                               tree _r;
   10919            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   10920            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
   10921            0 :                               return _r;
   10922              :                             }
   10923            0 : next_after_fail1806:;
   10924              :                           }
   10925              :                       }
   10926              :                     }
   10927              :                 }
   10928            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   10929              :                 {
   10930            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   10931              :                     {
   10932            0 :                       {
   10933            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
   10934            0 :                         if (!HONOR_NANS (captures[0])
   10935              : )
   10936              :                           {
   10937            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1807;
   10938            0 :                             {
   10939            0 :                               tree res_op0;
   10940            0 :                               res_op0 = captures[0];
   10941            0 :                               tree res_op1;
   10942            0 :                               res_op1 = captures[1];
   10943            0 :                               tree _r;
   10944            0 :                               _r = fold_build2_loc (loc, MAX_EXPR, type, res_op0, res_op1);
   10945            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 907, __FILE__, __LINE__, true);
   10946            0 :                               return _r;
   10947              :                             }
   10948            0 : next_after_fail1807:;
   10949              :                           }
   10950              :                       }
   10951              :                     }
   10952              :                 }
   10953              :               break;
   10954              :             }
   10955              :           default:;
   10956              :           }
   10957              :         break;
   10958              :       }
   10959            0 :     case BIT_AND_EXPR:
   10960            0 :       {
   10961            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   10962            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   10963            0 :         switch (TREE_CODE (_q21))
   10964              :           {
   10965            0 :           case INTEGER_CST:
   10966            0 :             {
   10967            0 :               switch (TREE_CODE (_p1))
   10968              :                 {
   10969            0 :                 case BIT_AND_EXPR:
   10970            0 :                   {
   10971            0 :                     tree _q50 = TREE_OPERAND (_p1, 0);
   10972            0 :                     tree _q51 = TREE_OPERAND (_p1, 1);
   10973            0 :                     if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   10974              :                       {
   10975            0 :                         switch (TREE_CODE (_q51))
   10976              :                           {
   10977            0 :                           case INTEGER_CST:
   10978            0 :                             {
   10979            0 :                               {
   10980            0 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
   10981            0 :                                 tree res = generic_simplify_534 (loc, type, _p0, _p1, captures, MAX_EXPR);
   10982            0 :                                 if (res) return res;
   10983              :                               }
   10984            0 :                               break;
   10985              :                             }
   10986              :                           default:;
   10987              :                           }
   10988              :                       }
   10989              :                     break;
   10990              :                   }
   10991              :                 default:;
   10992              :                 }
   10993              :               break;
   10994              :             }
   10995              :           default:;
   10996              :           }
   10997              :         break;
   10998              :       }
   10999       358555 :     default:;
   11000              :     }
   11001       358555 :   switch (TREE_CODE (_p1))
   11002              :     {
   11003            0 :     case BIT_AND_EXPR:
   11004            0 :       {
   11005            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11006            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11007            0 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   11008              :           {
   11009            0 :             switch (TREE_CODE (_q31))
   11010              :               {
   11011            0 :               case INTEGER_CST:
   11012            0 :                 {
   11013            0 :                   {
   11014            0 :                     tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
   11015            0 :                     tree res = generic_simplify_535 (loc, type, _p0, _p1, captures, MAX_EXPR);
   11016            0 :                     if (res) return res;
   11017              :                   }
   11018            0 :                   break;
   11019              :                 }
   11020              :               default:;
   11021              :               }
   11022              :           }
   11023              :         break;
   11024              :       }
   11025       358555 :     default:;
   11026              :     }
   11027       358555 :   switch (TREE_CODE (_p0))
   11028              :     {
   11029        33409 :     CASE_CONVERT:
   11030        33409 :       {
   11031        33409 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11032        33409 :         switch (TREE_CODE (_q20))
   11033              :           {
   11034           30 :           case ADDR_EXPR:
   11035           30 :             {
   11036           30 :               switch (TREE_CODE (_p1))
   11037              :                 {
   11038            0 :                 CASE_CONVERT:
   11039            0 :                   {
   11040            0 :                     tree _q40 = TREE_OPERAND (_p1, 0);
   11041            0 :                     switch (TREE_CODE (_q40))
   11042              :                       {
   11043            0 :                       case ADDR_EXPR:
   11044            0 :                         {
   11045            0 :                           {
   11046            0 :                             tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11047            0 :                             tree res = generic_simplify_536 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11048            0 :                             if (res) return res;
   11049              :                           }
   11050            0 :                           break;
   11051              :                         }
   11052              :                       default:;
   11053              :                       }
   11054              :                     break;
   11055              :                   }
   11056            0 :                 case ADDR_EXPR:
   11057            0 :                   {
   11058            0 :                     {
   11059            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
   11060            0 :                       tree res = generic_simplify_537 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11061            0 :                       if (res) return res;
   11062              :                     }
   11063            0 :                     break;
   11064              :                   }
   11065              :                 default:;
   11066              :                 }
   11067              :               break;
   11068              :             }
   11069              :           default:;
   11070              :           }
   11071              :         break;
   11072              :       }
   11073           10 :     case ADDR_EXPR:
   11074           10 :       {
   11075           10 :         switch (TREE_CODE (_p1))
   11076              :           {
   11077            0 :           CASE_CONVERT:
   11078            0 :             {
   11079            0 :               tree _q30 = TREE_OPERAND (_p1, 0);
   11080            0 :               switch (TREE_CODE (_q30))
   11081              :                 {
   11082            0 :                 case ADDR_EXPR:
   11083            0 :                   {
   11084            0 :                     {
   11085            0 :                       tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
   11086            0 :                       tree res = generic_simplify_538 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11087            0 :                       if (res) return res;
   11088              :                     }
   11089            0 :                     break;
   11090              :                   }
   11091              :                 default:;
   11092              :                 }
   11093              :               break;
   11094              :             }
   11095           10 :           case ADDR_EXPR:
   11096           10 :             {
   11097           10 :               {
   11098           10 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
   11099           10 :                 tree res = generic_simplify_539 (loc, type, _p0, _p1, captures, MAX_EXPR, GT_EXPR);
   11100           10 :                 if (res) return res;
   11101              :               }
   11102           10 :               break;
   11103              :             }
   11104              :           default:;
   11105              :           }
   11106              :         break;
   11107              :       }
   11108           74 :     case NEGATE_EXPR:
   11109           74 :       {
   11110           74 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11111           74 :         switch (TREE_CODE (_p1))
   11112              :           {
   11113            0 :           case NEGATE_EXPR:
   11114            0 :             {
   11115            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11116            0 :               {
   11117            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11118            0 :                 if (FLOAT_TYPE_P (TREE_TYPE (captures[1]))
   11119            0 :  || (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
   11120            0 :  && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1])))
   11121              : )
   11122              :                   {
   11123            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1808;
   11124            0 :                     {
   11125            0 :                       tree res_op0;
   11126            0 :                       {
   11127            0 :                         tree _o1[2], _r1;
   11128            0 :                         _o1[0] = captures[1];
   11129            0 :                         _o1[1] = captures[3];
   11130            0 :                         _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
   11131            0 :                         res_op0 = _r1;
   11132              :                       }
   11133            0 :                       tree _r;
   11134            0 :                       _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   11135            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
   11136            0 :                       return _r;
   11137              :                     }
   11138            0 : next_after_fail1808:;
   11139              :                   }
   11140              :               }
   11141            0 :               break;
   11142              :             }
   11143              :           default:;
   11144              :           }
   11145              :         break;
   11146              :       }
   11147            0 :     case BIT_NOT_EXPR:
   11148            0 :       {
   11149            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11150            0 :         switch (TREE_CODE (_p1))
   11151              :           {
   11152            0 :           case BIT_NOT_EXPR:
   11153            0 :             {
   11154            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11155            0 :               {
   11156            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11157            0 :                 tree res = generic_simplify_540 (loc, type, _p0, _p1, captures, MAX_EXPR, MIN_EXPR);
   11158            0 :                 if (res) return res;
   11159              :               }
   11160            0 :               break;
   11161              :             }
   11162              :           default:;
   11163              :           }
   11164              :         break;
   11165              :       }
   11166            0 :     case VEC_COND_EXPR:
   11167            0 :       {
   11168            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11169            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11170            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11171            0 :         switch (TREE_CODE (_p1))
   11172              :           {
   11173            0 :           case VEC_COND_EXPR:
   11174            0 :             {
   11175            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11176            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11177            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11178            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11179              :                 {
   11180            0 :                   {
   11181            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11182            0 :                     if (VECTOR_TYPE_P (type)
   11183            0 :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   11184              :  || types_match (type, TREE_TYPE (captures[2]))
   11185              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11186              :  || (optimize_vectors_before_lowering_p ()
   11187              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11188              : )
   11189              :                       {
   11190            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1809;
   11191            0 :                         {
   11192            0 :                           tree res_op0;
   11193            0 :                           res_op0 = captures[1];
   11194            0 :                           tree res_op1;
   11195            0 :                           {
   11196            0 :                             tree _o1[2], _r1;
   11197            0 :                             _o1[0] = captures[2];
   11198            0 :                             _o1[1] = captures[5];
   11199            0 :                             _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11200            0 :                             if (EXPR_P (_r1))
   11201            0 :                               goto next_after_fail1809;
   11202            0 :                             res_op1 = _r1;
   11203              :                           }
   11204            0 :                           tree res_op2;
   11205            0 :                           {
   11206            0 :                             tree _o1[2], _r1;
   11207            0 :                             _o1[0] = captures[3];
   11208            0 :                             _o1[1] = captures[6];
   11209            0 :                             _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11210            0 :                             if (EXPR_P (_r1))
   11211            0 :                               goto next_after_fail1809;
   11212            0 :                             res_op2 = _r1;
   11213              :                           }
   11214            0 :                           tree _r;
   11215            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11216            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
   11217            0 :                           return _r;
   11218              :                         }
   11219            0 : next_after_fail1809:;
   11220              :                       }
   11221              :                   }
   11222              :                 }
   11223              :               break;
   11224              :             }
   11225            0 :           default:;
   11226              :           }
   11227            0 :         {
   11228            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11229            0 :           if (VECTOR_TYPE_P (type)
   11230            0 :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   11231              :  || types_match (type, TREE_TYPE (captures[2]))
   11232              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11233              :  || (optimize_vectors_before_lowering_p ()
   11234              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11235              : )
   11236              :             {
   11237            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1810;
   11238            0 :               {
   11239            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1810;
   11240            0 :                 tree res_op0;
   11241            0 :                 res_op0 = captures[1];
   11242            0 :                 tree res_op1;
   11243            0 :                 {
   11244            0 :                   tree _o1[2], _r1;
   11245            0 :                   _o1[0] = captures[2];
   11246            0 :                   _o1[1] = unshare_expr (captures[4]);
   11247            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11248            0 :                   if (EXPR_P (_r1))
   11249            0 :                     goto next_after_fail1810;
   11250            0 :                   res_op1 = _r1;
   11251              :                 }
   11252            0 :                 tree res_op2;
   11253            0 :                 {
   11254            0 :                   tree _o1[2], _r1;
   11255            0 :                   _o1[0] = captures[3];
   11256            0 :                   _o1[1] = captures[4];
   11257            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11258            0 :                   if (EXPR_P (_r1))
   11259            0 :                     goto next_after_fail1810;
   11260            0 :                   res_op2 = _r1;
   11261              :                 }
   11262            0 :                 tree _r;
   11263            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11264            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
   11265            0 :                 return _r;
   11266              :               }
   11267            0 : next_after_fail1810:;
   11268              :             }
   11269              :         }
   11270            0 :         break;
   11271              :       }
   11272       358555 :     default:;
   11273              :     }
   11274       358555 :   switch (TREE_CODE (_p1))
   11275              :     {
   11276            0 :     case VEC_COND_EXPR:
   11277            0 :       {
   11278            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11279            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11280            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11281            0 :         {
   11282            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11283            0 :           if (VECTOR_TYPE_P (type)
   11284            0 :  && (TREE_CODE_CLASS (MAX_EXPR) != tcc_comparison
   11285              :  || types_match (type, TREE_TYPE (captures[3]))
   11286              :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11287              :  || (optimize_vectors_before_lowering_p ()
   11288              :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11289              : )
   11290              :             {
   11291            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1811;
   11292            0 :               {
   11293            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1811;
   11294            0 :                 tree res_op0;
   11295            0 :                 res_op0 = captures[2];
   11296            0 :                 tree res_op1;
   11297            0 :                 {
   11298            0 :                   tree _o1[2], _r1;
   11299            0 :                   _o1[0] = unshare_expr (captures[0]);
   11300            0 :                   _o1[1] = captures[3];
   11301            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11302            0 :                   if (EXPR_P (_r1))
   11303            0 :                     goto next_after_fail1811;
   11304            0 :                   res_op1 = _r1;
   11305              :                 }
   11306            0 :                 tree res_op2;
   11307            0 :                 {
   11308            0 :                   tree _o1[2], _r1;
   11309            0 :                   _o1[0] = captures[0];
   11310            0 :                   _o1[1] = captures[4];
   11311            0 :                   _r1 = fold_build2_loc (loc, MAX_EXPR, type, _o1[0], _o1[1]);
   11312            0 :                   if (EXPR_P (_r1))
   11313            0 :                     goto next_after_fail1811;
   11314            0 :                   res_op2 = _r1;
   11315              :                 }
   11316            0 :                 tree _r;
   11317            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11318            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
   11319            0 :                 return _r;
   11320              :               }
   11321            0 : next_after_fail1811:;
   11322              :             }
   11323              :         }
   11324            0 :         break;
   11325              :       }
   11326       358555 :     default:;
   11327              :     }
   11328       358555 :   if (tree_zero_one_valued_p (_p0))
   11329              :     {
   11330           10 :       if (tree_zero_one_valued_p (_p1))
   11331              :         {
   11332            0 :           {
   11333            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11334            0 :             tree res = generic_simplify_541 (loc, type, _p0, _p1, captures, MAX_EXPR, BIT_IOR_EXPR);
   11335            0 :             if (res) return res;
   11336              :           }
   11337              :         }
   11338              :     }
   11339              :   return NULL_TREE;
   11340              : }
   11341              : 
   11342              : tree
   11343         2797 : generic_simplify_RROTATE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11344              : {
   11345         2797 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11346         2797 :   if (integer_all_onesp (_p0))
   11347              :     {
   11348            0 :       {
   11349            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11350            0 :         tree res = generic_simplify_565 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11351            0 :         if (res) return res;
   11352              :       }
   11353              :     }
   11354         2797 :   if (integer_zerop (_p1))
   11355              :     {
   11356            1 :       {
   11357            1 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11358            1 :         tree res = generic_simplify_426 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11359            1 :         if (res) return res;
   11360              :       }
   11361              :     }
   11362         2796 :   if (integer_zerop (_p0))
   11363              :     {
   11364            0 :       {
   11365            0 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11366            0 :         tree res = generic_simplify_427 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11367            0 :         if (res) return res;
   11368              :       }
   11369              :     }
   11370         2796 :   switch (TREE_CODE (_p1))
   11371              :     {
   11372            0 :     case VECTOR_CST:
   11373            0 :       {
   11374            0 :         {
   11375            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11376            0 :           tree res = generic_simplify_428 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11377            0 :           if (res) return res;
   11378              :         }
   11379            0 :         break;
   11380              :       }
   11381            0 :     case CONSTRUCTOR:
   11382            0 :       {
   11383            0 :         {
   11384            0 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11385            0 :           tree res = generic_simplify_429 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11386            0 :           if (res) return res;
   11387              :         }
   11388            0 :         break;
   11389              :       }
   11390            0 :     case MINUS_EXPR:
   11391            0 :       {
   11392            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11393            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11394            0 :         switch (TREE_CODE (_q30))
   11395              :           {
   11396            0 :           case INTEGER_CST:
   11397            0 :             {
   11398            0 :               {
   11399            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
   11400            0 :                 tree res = generic_simplify_566 (loc, type, _p0, _p1, captures, RROTATE_EXPR, LROTATE_EXPR);
   11401            0 :                 if (res) return res;
   11402              :               }
   11403            0 :               break;
   11404              :             }
   11405              :           default:;
   11406              :           }
   11407              :         break;
   11408              :       }
   11409         2796 :     default:;
   11410              :     }
   11411         2796 :   switch (TREE_CODE (_p0))
   11412              :     {
   11413            0 :     case RROTATE_EXPR:
   11414            0 :       {
   11415            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11416            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11417            0 :         switch (TREE_CODE (_q21))
   11418              :           {
   11419            0 :           case INTEGER_CST:
   11420            0 :             {
   11421            0 :               switch (TREE_CODE (_p1))
   11422              :                 {
   11423            0 :                 case INTEGER_CST:
   11424            0 :                   {
   11425            0 :                     {
   11426            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   11427            0 :                       tree res = generic_simplify_430 (loc, type, _p0, _p1, captures, RROTATE_EXPR);
   11428            0 :                       if (res) return res;
   11429              :                     }
   11430            0 :                     break;
   11431              :                   }
   11432              :                 default:;
   11433              :                 }
   11434              :               break;
   11435              :             }
   11436              :           default:;
   11437              :           }
   11438              :         break;
   11439              :       }
   11440              :     default:;
   11441              :     }
   11442              :   return NULL_TREE;
   11443              : }
   11444              : 
   11445              : tree
   11446       751166 : generic_simplify_UNLT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11447              : {
   11448       751166 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11449       751166 :   switch (TREE_CODE (_p0))
   11450              :     {
   11451            0 :     case VEC_COND_EXPR:
   11452            0 :       {
   11453            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11454            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11455            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11456            0 :         switch (TREE_CODE (_p1))
   11457              :           {
   11458            0 :           case VEC_COND_EXPR:
   11459            0 :             {
   11460            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11461            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11462            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11463            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11464              :                 {
   11465            0 :                   {
   11466            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11467            0 :                     if (VECTOR_TYPE_P (type)
   11468            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11469            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11470            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11471              :  || (optimize_vectors_before_lowering_p ()
   11472            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11473              : )
   11474              :                       {
   11475            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
   11476            0 :                         {
   11477            0 :                           tree res_op0;
   11478            0 :                           res_op0 = captures[1];
   11479            0 :                           tree res_op1;
   11480            0 :                           {
   11481            0 :                             tree _o1[2], _r1;
   11482            0 :                             _o1[0] = captures[2];
   11483            0 :                             _o1[1] = captures[5];
   11484            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11485            0 :                             if (EXPR_P (_r1))
   11486            0 :                               goto next_after_fail1824;
   11487            0 :                             res_op1 = _r1;
   11488              :                           }
   11489            0 :                           tree res_op2;
   11490            0 :                           {
   11491            0 :                             tree _o1[2], _r1;
   11492            0 :                             _o1[0] = captures[3];
   11493            0 :                             _o1[1] = captures[6];
   11494            0 :                             _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11495            0 :                             if (EXPR_P (_r1))
   11496            0 :                               goto next_after_fail1824;
   11497            0 :                             res_op2 = _r1;
   11498              :                           }
   11499            0 :                           tree _r;
   11500            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11501            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
   11502            0 :                           return _r;
   11503              :                         }
   11504            0 : next_after_fail1824:;
   11505              :                       }
   11506              :                   }
   11507              :                 }
   11508              :               break;
   11509              :             }
   11510            0 :           default:;
   11511              :           }
   11512            0 :         {
   11513            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11514            0 :           if (VECTOR_TYPE_P (type)
   11515            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11516            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11517            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11518              :  || (optimize_vectors_before_lowering_p ()
   11519            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11520              : )
   11521              :             {
   11522            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
   11523            0 :               {
   11524            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1825;
   11525            0 :                 tree res_op0;
   11526            0 :                 res_op0 = captures[1];
   11527            0 :                 tree res_op1;
   11528            0 :                 {
   11529            0 :                   tree _o1[2], _r1;
   11530            0 :                   _o1[0] = captures[2];
   11531            0 :                   _o1[1] = unshare_expr (captures[4]);
   11532            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11533            0 :                   if (EXPR_P (_r1))
   11534            0 :                     goto next_after_fail1825;
   11535            0 :                   res_op1 = _r1;
   11536              :                 }
   11537            0 :                 tree res_op2;
   11538            0 :                 {
   11539            0 :                   tree _o1[2], _r1;
   11540            0 :                   _o1[0] = captures[3];
   11541            0 :                   _o1[1] = captures[4];
   11542            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11543            0 :                   if (EXPR_P (_r1))
   11544            0 :                     goto next_after_fail1825;
   11545            0 :                   res_op2 = _r1;
   11546              :                 }
   11547            0 :                 tree _r;
   11548            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11549            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
   11550            0 :                 return _r;
   11551              :               }
   11552            0 : next_after_fail1825:;
   11553              :             }
   11554              :         }
   11555            0 :         break;
   11556              :       }
   11557       751166 :     default:;
   11558              :     }
   11559       751166 :   switch (TREE_CODE (_p1))
   11560              :     {
   11561            0 :     case VEC_COND_EXPR:
   11562            0 :       {
   11563            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11564            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11565            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11566            0 :         {
   11567            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11568            0 :           if (VECTOR_TYPE_P (type)
   11569            0 :  && (TREE_CODE_CLASS (UNLT_EXPR) != tcc_comparison
   11570            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11571            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11572              :  || (optimize_vectors_before_lowering_p ()
   11573            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11574              : )
   11575              :             {
   11576            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
   11577            0 :               {
   11578            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1826;
   11579            0 :                 tree res_op0;
   11580            0 :                 res_op0 = captures[2];
   11581            0 :                 tree res_op1;
   11582            0 :                 {
   11583            0 :                   tree _o1[2], _r1;
   11584            0 :                   _o1[0] = unshare_expr (captures[0]);
   11585            0 :                   _o1[1] = captures[3];
   11586            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11587            0 :                   if (EXPR_P (_r1))
   11588            0 :                     goto next_after_fail1826;
   11589            0 :                   res_op1 = _r1;
   11590              :                 }
   11591            0 :                 tree res_op2;
   11592            0 :                 {
   11593            0 :                   tree _o1[2], _r1;
   11594            0 :                   _o1[0] = captures[0];
   11595            0 :                   _o1[1] = captures[4];
   11596            0 :                   _r1 = fold_build2_loc (loc, UNLT_EXPR, type, _o1[0], _o1[1]);
   11597            0 :                   if (EXPR_P (_r1))
   11598            0 :                     goto next_after_fail1826;
   11599            0 :                   res_op2 = _r1;
   11600              :                 }
   11601            0 :                 tree _r;
   11602            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11603            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
   11604            0 :                 return _r;
   11605              :               }
   11606            0 : next_after_fail1826:;
   11607              :             }
   11608              :         }
   11609            0 :         break;
   11610              :       }
   11611       751166 :     default:;
   11612              :     }
   11613       751166 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11614              :     {
   11615            0 :       {
   11616            0 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11617            0 :         tree res = generic_simplify_573 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11618            0 :         if (res) return res;
   11619              :       }
   11620              :     }
   11621       751166 :   switch (TREE_CODE (_p0))
   11622              :     {
   11623          283 :     case FLOAT_EXPR:
   11624          283 :       {
   11625          283 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11626          283 :         switch (TREE_CODE (_p1))
   11627              :           {
   11628            0 :           case FLOAT_EXPR:
   11629            0 :             {
   11630            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11631            0 :               {
   11632            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11633            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNLT_EXPR, LT_EXPR);
   11634            0 :                 if (res) return res;
   11635              :               }
   11636            0 :               break;
   11637              :             }
   11638              :           default:;
   11639              :           }
   11640              :         break;
   11641              :       }
   11642            0 :     case NEGATE_EXPR:
   11643            0 :       {
   11644            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11645            0 :         switch (TREE_CODE (_p1))
   11646              :           {
   11647            0 :           case NEGATE_EXPR:
   11648            0 :             {
   11649            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11650            0 :               {
   11651            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11652            0 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11653            0 :                 if (res) return res;
   11654              :               }
   11655            0 :               break;
   11656              :             }
   11657            0 :           default:;
   11658              :           }
   11659            0 :       if (CONSTANT_CLASS_P (_p1))
   11660              :         {
   11661            0 :           {
   11662            0 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11663            0 :             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, UNLT_EXPR, UNGT_EXPR);
   11664            0 :             if (res) return res;
   11665              :           }
   11666              :         }
   11667              :         break;
   11668              :       }
   11669       751166 :     default:;
   11670              :     }
   11671       751166 :   switch (TREE_CODE (_p1))
   11672              :     {
   11673       376850 :     case REAL_CST:
   11674       376850 :       {
   11675       376850 :         {
   11676       376850 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11677       376850 :           tree res = generic_simplify_572 (loc, type, _p0, _p1, captures, UNLT_EXPR);
   11678       376850 :           if (res) return res;
   11679              :         }
   11680       376848 :         break;
   11681              :       }
   11682              :     default:;
   11683              :     }
   11684              :   return NULL_TREE;
   11685              : }
   11686              : 
   11687              : tree
   11688       431181 : generic_simplify_UNGE_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
   11689              : {
   11690       431181 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11691       431181 :   switch (TREE_CODE (_p0))
   11692              :     {
   11693            0 :     case VEC_COND_EXPR:
   11694            0 :       {
   11695            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11696            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11697            0 :         tree _q22 = TREE_OPERAND (_p0, 2);
   11698            0 :         switch (TREE_CODE (_p1))
   11699              :           {
   11700            0 :           case VEC_COND_EXPR:
   11701            0 :             {
   11702            0 :               tree _q60 = TREE_OPERAND (_p1, 0);
   11703            0 :               tree _q61 = TREE_OPERAND (_p1, 1);
   11704            0 :               tree _q62 = TREE_OPERAND (_p1, 2);
   11705            0 :               if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   11706              :                 {
   11707            0 :                   {
   11708            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
   11709            0 :                     if (VECTOR_TYPE_P (type)
   11710            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11711            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11712            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11713              :  || (optimize_vectors_before_lowering_p ()
   11714            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11715              : )
   11716              :                       {
   11717            0 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
   11718            0 :                         {
   11719            0 :                           tree res_op0;
   11720            0 :                           res_op0 = captures[1];
   11721            0 :                           tree res_op1;
   11722            0 :                           {
   11723            0 :                             tree _o1[2], _r1;
   11724            0 :                             _o1[0] = captures[2];
   11725            0 :                             _o1[1] = captures[5];
   11726            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11727            0 :                             if (EXPR_P (_r1))
   11728            0 :                               goto next_after_fail1833;
   11729            0 :                             res_op1 = _r1;
   11730              :                           }
   11731            0 :                           tree res_op2;
   11732            0 :                           {
   11733            0 :                             tree _o1[2], _r1;
   11734            0 :                             _o1[0] = captures[3];
   11735            0 :                             _o1[1] = captures[6];
   11736            0 :                             _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11737            0 :                             if (EXPR_P (_r1))
   11738            0 :                               goto next_after_fail1833;
   11739            0 :                             res_op2 = _r1;
   11740              :                           }
   11741            0 :                           tree _r;
   11742            0 :                           _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11743            0 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 908, __FILE__, __LINE__, true);
   11744            0 :                           return _r;
   11745              :                         }
   11746            0 : next_after_fail1833:;
   11747              :                       }
   11748              :                   }
   11749              :                 }
   11750              :               break;
   11751              :             }
   11752            0 :           default:;
   11753              :           }
   11754            0 :         {
   11755            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
   11756            0 :           if (VECTOR_TYPE_P (type)
   11757            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11758            0 :  || types_match (type, TREE_TYPE (captures[2]))
   11759            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
   11760              :  || (optimize_vectors_before_lowering_p ()
   11761            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
   11762              : )
   11763              :             {
   11764            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
   11765            0 :               {
   11766            0 :                 if (! tree_invariant_p (captures[4])) goto next_after_fail1834;
   11767            0 :                 tree res_op0;
   11768            0 :                 res_op0 = captures[1];
   11769            0 :                 tree res_op1;
   11770            0 :                 {
   11771            0 :                   tree _o1[2], _r1;
   11772            0 :                   _o1[0] = captures[2];
   11773            0 :                   _o1[1] = unshare_expr (captures[4]);
   11774            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11775            0 :                   if (EXPR_P (_r1))
   11776            0 :                     goto next_after_fail1834;
   11777            0 :                   res_op1 = _r1;
   11778              :                 }
   11779            0 :                 tree res_op2;
   11780            0 :                 {
   11781            0 :                   tree _o1[2], _r1;
   11782            0 :                   _o1[0] = captures[3];
   11783            0 :                   _o1[1] = captures[4];
   11784            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11785            0 :                   if (EXPR_P (_r1))
   11786            0 :                     goto next_after_fail1834;
   11787            0 :                   res_op2 = _r1;
   11788              :                 }
   11789            0 :                 tree _r;
   11790            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11791            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 910, __FILE__, __LINE__, true);
   11792            0 :                 return _r;
   11793              :               }
   11794            0 : next_after_fail1834:;
   11795              :             }
   11796              :         }
   11797            0 :         break;
   11798              :       }
   11799       431181 :     default:;
   11800              :     }
   11801       431181 :   switch (TREE_CODE (_p1))
   11802              :     {
   11803            0 :     case VEC_COND_EXPR:
   11804            0 :       {
   11805            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   11806            0 :         tree _q31 = TREE_OPERAND (_p1, 1);
   11807            0 :         tree _q32 = TREE_OPERAND (_p1, 2);
   11808            0 :         {
   11809            0 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
   11810            0 :           if (VECTOR_TYPE_P (type)
   11811            0 :  && (TREE_CODE_CLASS (UNGE_EXPR) != tcc_comparison
   11812            0 :  || types_match (type, TREE_TYPE (captures[3]))
   11813            0 :  || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
   11814              :  || (optimize_vectors_before_lowering_p ()
   11815            0 :  && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
   11816              : )
   11817              :             {
   11818            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
   11819            0 :               {
   11820            0 :                 if (! tree_invariant_p (captures[0])) goto next_after_fail1835;
   11821            0 :                 tree res_op0;
   11822            0 :                 res_op0 = captures[2];
   11823            0 :                 tree res_op1;
   11824            0 :                 {
   11825            0 :                   tree _o1[2], _r1;
   11826            0 :                   _o1[0] = unshare_expr (captures[0]);
   11827            0 :                   _o1[1] = captures[3];
   11828            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11829            0 :                   if (EXPR_P (_r1))
   11830            0 :                     goto next_after_fail1835;
   11831            0 :                   res_op1 = _r1;
   11832              :                 }
   11833            0 :                 tree res_op2;
   11834            0 :                 {
   11835            0 :                   tree _o1[2], _r1;
   11836            0 :                   _o1[0] = captures[0];
   11837            0 :                   _o1[1] = captures[4];
   11838            0 :                   _r1 = fold_build2_loc (loc, UNGE_EXPR, type, _o1[0], _o1[1]);
   11839            0 :                   if (EXPR_P (_r1))
   11840            0 :                     goto next_after_fail1835;
   11841            0 :                   res_op2 = _r1;
   11842              :                 }
   11843            0 :                 tree _r;
   11844            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   11845            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 911, __FILE__, __LINE__, true);
   11846            0 :                 return _r;
   11847              :               }
   11848            0 : next_after_fail1835:;
   11849              :             }
   11850              :         }
   11851            0 :         break;
   11852              :       }
   11853       431181 :     default:;
   11854              :     }
   11855       431181 :   if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
   11856              :     {
   11857           30 :       {
   11858           30 :         tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
   11859           30 :         tree res = generic_simplify_574 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   11860           30 :         if (res) return res;
   11861              :       }
   11862              :     }
   11863       431151 :   switch (TREE_CODE (_p0))
   11864              :     {
   11865          299 :     case FLOAT_EXPR:
   11866          299 :       {
   11867          299 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11868          299 :         switch (TREE_CODE (_p1))
   11869              :           {
   11870            0 :           case FLOAT_EXPR:
   11871            0 :             {
   11872            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11873            0 :               {
   11874            0 :                 tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
   11875            0 :                 tree res = generic_simplify_267 (loc, type, _p0, _p1, captures, UNGE_EXPR, GE_EXPR);
   11876            0 :                 if (res) return res;
   11877              :               }
   11878            0 :               break;
   11879              :             }
   11880              :           default:;
   11881              :           }
   11882              :         break;
   11883              :       }
   11884          112 :     case NEGATE_EXPR:
   11885          112 :       {
   11886          112 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11887          112 :         switch (TREE_CODE (_p1))
   11888              :           {
   11889            0 :           case NEGATE_EXPR:
   11890            0 :             {
   11891            0 :               tree _q40 = TREE_OPERAND (_p1, 0);
   11892            0 :               {
   11893            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
   11894            0 :                 tree res = generic_simplify_270 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   11895            0 :                 if (res) return res;
   11896              :               }
   11897            0 :               break;
   11898              :             }
   11899          112 :           default:;
   11900              :           }
   11901          112 :       if (CONSTANT_CLASS_P (_p1))
   11902              :         {
   11903          112 :           {
   11904          112 :             tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   11905          112 :             tree res = generic_simplify_271 (loc, type, _p0, _p1, captures, UNGE_EXPR, UNLE_EXPR);
   11906          112 :             if (res) return res;
   11907              :           }
   11908              :         }
   11909              :         break;
   11910              :       }
   11911       431039 :     default:;
   11912              :     }
   11913       431039 :   switch (TREE_CODE (_p1))
   11914              :     {
   11915        54145 :     case REAL_CST:
   11916        54145 :       {
   11917        54145 :         {
   11918        54145 :           tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   11919        54145 :           tree res = generic_simplify_572 (loc, type, _p0, _p1, captures, UNGE_EXPR);
   11920        54145 :           if (res) return res;
   11921              :         }
   11922        54143 :         break;
   11923              :       }
   11924              :     default:;
   11925              :     }
   11926              :   return NULL_TREE;
   11927              : }
   11928              : 
   11929              : tree
   11930       465150 : 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)
   11931              : {
   11932       465150 :   const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
   11933       465150 :   switch (TREE_CODE (_p0))
   11934              :     {
   11935         1421 :     case NE_EXPR:
   11936         1421 :       {
   11937         1421 :         tree _q20 = TREE_OPERAND (_p0, 0);
   11938         1421 :         tree _q21 = TREE_OPERAND (_p0, 1);
   11939         1421 :         if (uniform_integer_cst_p (_q21))
   11940              :           {
   11941          478 :             switch (TREE_CODE (_p1))
   11942              :               {
   11943           35 :               case PLUS_EXPR:
   11944           35 :                 {
   11945           35 :                   tree _q50 = TREE_OPERAND (_p1, 0);
   11946           35 :                   tree _q51 = TREE_OPERAND (_p1, 1);
   11947           35 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   11948              :                     {
   11949           24 :                       if (uniform_integer_cst_p (_q51))
   11950              :                         {
   11951           24 :                           if (uniform_integer_cst_p (_p2))
   11952              :                             {
   11953           24 :                               {
   11954           24 :                                 tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51, _p2 };
   11955           24 :                                 {
   11956           24 :  tree cst1 = uniform_integer_cst_p (captures[1]);
   11957           24 :  tree cst2 = uniform_integer_cst_p (captures[3]);
   11958           24 :  tree cst3 = uniform_integer_cst_p (captures[4]);
   11959           24 :                                     if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3)
   11960              : )
   11961              :                                       {
   11962           18 :                                         if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1937;
   11963           18 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
   11964           18 :                                         {
   11965           18 :                                           tree _r;
   11966           18 :                                           _r = captures[2];
   11967           18 :                                           if (TREE_SIDE_EFFECTS (captures[1]))
   11968            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   11969           18 :                                           if (TREE_SIDE_EFFECTS (captures[4]))
   11970            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   11971           18 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
   11972           18 :                                           return _r;
   11973              :                                         }
   11974            6 : next_after_fail1937:;
   11975              :                                       }
   11976              :                                 }
   11977              :                               }
   11978              :                             }
   11979              :                         }
   11980              :                     }
   11981              :                   break;
   11982              :                 }
   11983              :               default:;
   11984              :               }
   11985              :           }
   11986              :         break;
   11987              :       }
   11988        22053 :     case VECTOR_CST:
   11989        22053 :       {
   11990        22053 :         {
   11991        22053 :           tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   11992        22053 :           if (integer_all_onesp (captures[0])
   11993              : )
   11994              :             {
   11995         8091 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
   11996         8091 :               {
   11997         8091 :                 tree _r;
   11998         8091 :                 _r = captures[1];
   11999         8091 :                 if (TREE_SIDE_EFFECTS (captures[0]))
   12000            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12001         8091 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12002            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12003         8091 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1090, __FILE__, __LINE__, true);
   12004         8091 :                 return _r;
   12005              :               }
   12006            0 : next_after_fail1938:;
   12007              :             }
   12008              :           else
   12009              :             {
   12010        13962 :               if (integer_zerop (captures[0])
   12011              : )
   12012              :                 {
   12013         2240 :                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
   12014         2240 :                   {
   12015         2240 :                     tree _r;
   12016         2240 :                     _r = captures[2];
   12017         2240 :                     if (TREE_SIDE_EFFECTS (captures[0]))
   12018            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12019         2240 :                     if (TREE_SIDE_EFFECTS (captures[1]))
   12020            0 :                       _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12021         2240 :                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1091, __FILE__, __LINE__, true);
   12022         2240 :                     return _r;
   12023              :                   }
   12024            0 : next_after_fail1939:;
   12025              :                 }
   12026              :             }
   12027              :         }
   12028        11722 :         break;
   12029              :       }
   12030       454801 :     default:;
   12031              :     }
   12032       454801 :   switch (TREE_CODE (_p1))
   12033              :     {
   12034       379889 :     case VECTOR_CST:
   12035       379889 :       {
   12036       379889 :         switch (TREE_CODE (_p2))
   12037              :           {
   12038       366213 :           case VECTOR_CST:
   12039       366213 :             {
   12040       366213 :               {
   12041       366213 :                 tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
   12042       366213 :                 if (VECTOR_BOOLEAN_TYPE_P (type)
   12043       366351 :  && types_match (type, TREE_TYPE (captures[0]))
   12044              : )
   12045              :                   {
   12046          131 :                     if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
   12047              : )
   12048              :                       {
   12049           28 :                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
   12050           28 :                         {
   12051           28 :                           tree res_op0;
   12052           28 :                           res_op0 = captures[0];
   12053           28 :                           tree _r;
   12054           28 :                           _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
   12055           28 :                           if (TREE_SIDE_EFFECTS (captures[1]))
   12056            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12057           28 :                           if (TREE_SIDE_EFFECTS (captures[2]))
   12058            0 :                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12059           28 :                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1092, __FILE__, __LINE__, true);
   12060           28 :                           return _r;
   12061              :                         }
   12062            0 : next_after_fail1940:;
   12063              :                       }
   12064              :                     else
   12065              :                       {
   12066          103 :                         if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
   12067              : )
   12068              :                           {
   12069           73 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
   12070           73 :                             {
   12071           73 :                               tree _r;
   12072           73 :                               _r = captures[0];
   12073           73 :                               if (TREE_SIDE_EFFECTS (captures[1]))
   12074            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12075           73 :                               if (TREE_SIDE_EFFECTS (captures[2]))
   12076            0 :                                 _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12077           73 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1093, __FILE__, __LINE__, true);
   12078           73 :                               return _r;
   12079              :                             }
   12080            0 : next_after_fail1941:;
   12081              :                           }
   12082              :                       }
   12083              :                   }
   12084              :               }
   12085       366112 :               break;
   12086              :             }
   12087              :           default:;
   12088              :           }
   12089              :         break;
   12090              :       }
   12091       454700 :     default:;
   12092              :     }
   12093       454700 :   switch (TREE_CODE (_p0))
   12094              :     {
   12095         1401 :     case NE_EXPR:
   12096         1401 :       {
   12097         1401 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12098         1401 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12099         1401 :         switch (TREE_CODE (_p1))
   12100              :           {
   12101            6 :           case MINUS_EXPR:
   12102            6 :             {
   12103            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12104            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12105            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12106              :                 {
   12107            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12108              :                     {
   12109            6 :                       if (integer_zerop (_p2))
   12110              :                         {
   12111            6 :                           {
   12112            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12113            6 :                             tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures);
   12114            6 :                             if (res) return res;
   12115              :                           }
   12116              :                         }
   12117              :                     }
   12118              :                 }
   12119            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12120              :                 {
   12121            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12122              :                     {
   12123            0 :                       if (integer_zerop (_p2))
   12124              :                         {
   12125            0 :                           {
   12126            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12127            0 :                             tree res = generic_simplify_550 (loc, type, _p0, _p1, _p2, captures);
   12128            0 :                             if (res) return res;
   12129              :                           }
   12130              :                         }
   12131              :                     }
   12132              :                 }
   12133              :               break;
   12134              :             }
   12135            6 :           case BIT_XOR_EXPR:
   12136            6 :             {
   12137            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12138            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12139            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12140              :                 {
   12141            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12142              :                     {
   12143            6 :                       if (integer_zerop (_p2))
   12144              :                         {
   12145            6 :                           {
   12146            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12147            6 :                             tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures);
   12148            6 :                             if (res) return res;
   12149              :                           }
   12150              :                         }
   12151              :                     }
   12152              :                 }
   12153            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12154              :                 {
   12155            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12156              :                     {
   12157            0 :                       if (integer_zerop (_p2))
   12158              :                         {
   12159            0 :                           {
   12160            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12161            0 :                             tree res = generic_simplify_551 (loc, type, _p0, _p1, _p2, captures);
   12162            0 :                             if (res) return res;
   12163              :                           }
   12164              :                         }
   12165              :                     }
   12166              :                 }
   12167              :               break;
   12168              :             }
   12169            6 :           case BIT_AND_EXPR:
   12170            6 :             {
   12171            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12172            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12173            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12174              :                 {
   12175            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12176              :                     {
   12177            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12178              :                         {
   12179            6 :                           {
   12180            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12181            6 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12182            6 :                             if (res) return res;
   12183              :                           }
   12184              :                         }
   12185            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12186              :                         {
   12187            0 :                           {
   12188            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12189            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12190            0 :                             if (res) return res;
   12191              :                           }
   12192              :                         }
   12193              :                     }
   12194              :                 }
   12195            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12196              :                 {
   12197            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12198              :                     {
   12199            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12200              :                         {
   12201            0 :                           {
   12202            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12203            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12204            0 :                             if (res) return res;
   12205              :                           }
   12206              :                         }
   12207            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12208              :                         {
   12209            0 :                           {
   12210            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12211            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_AND_EXPR);
   12212            0 :                             if (res) return res;
   12213              :                           }
   12214              :                         }
   12215              :                     }
   12216              :                 }
   12217              :               break;
   12218              :             }
   12219            6 :           case BIT_IOR_EXPR:
   12220            6 :             {
   12221            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12222            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12223            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12224              :                 {
   12225            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12226              :                     {
   12227            6 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12228              :                         {
   12229            6 :                           {
   12230            6 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12231            6 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12232            6 :                             if (res) return res;
   12233              :                           }
   12234              :                         }
   12235            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12236              :                         {
   12237            0 :                           {
   12238            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12239            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12240            0 :                             if (res) return res;
   12241              :                           }
   12242              :                         }
   12243              :                     }
   12244              :                 }
   12245            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12246              :                 {
   12247            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12248              :                     {
   12249            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12250              :                         {
   12251            0 :                           {
   12252            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12253            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12254            0 :                             if (res) return res;
   12255              :                           }
   12256              :                         }
   12257            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12258              :                         {
   12259            0 :                           {
   12260            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12261            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, BIT_IOR_EXPR);
   12262            0 :                             if (res) return res;
   12263              :                           }
   12264              :                         }
   12265              :                     }
   12266              :                 }
   12267              :               break;
   12268              :             }
   12269            0 :           case MIN_EXPR:
   12270            0 :             {
   12271            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12272            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12273            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12274              :                 {
   12275            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12276              :                     {
   12277            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12278              :                         {
   12279            0 :                           {
   12280            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12281            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12282            0 :                             if (res) return res;
   12283              :                           }
   12284              :                         }
   12285            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12286              :                         {
   12287            0 :                           {
   12288            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12289            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12290            0 :                             if (res) return res;
   12291              :                           }
   12292              :                         }
   12293              :                     }
   12294              :                 }
   12295            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12296              :                 {
   12297            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12298              :                     {
   12299            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12300              :                         {
   12301            0 :                           {
   12302            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12303            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12304            0 :                             if (res) return res;
   12305              :                           }
   12306              :                         }
   12307            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12308              :                         {
   12309            0 :                           {
   12310            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12311            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MIN_EXPR);
   12312            0 :                             if (res) return res;
   12313              :                           }
   12314              :                         }
   12315              :                     }
   12316              :                 }
   12317              :               break;
   12318              :             }
   12319            0 :           case MAX_EXPR:
   12320            0 :             {
   12321            0 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12322            0 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12323            0 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12324              :                 {
   12325            0 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12326              :                     {
   12327            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12328              :                         {
   12329            0 :                           {
   12330            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12331            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12332            0 :                             if (res) return res;
   12333              :                           }
   12334              :                         }
   12335            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12336              :                         {
   12337            0 :                           {
   12338            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12339            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12340            0 :                             if (res) return res;
   12341              :                           }
   12342              :                         }
   12343              :                     }
   12344              :                 }
   12345            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12346              :                 {
   12347            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12348              :                     {
   12349            0 :                       if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   12350              :                         {
   12351            0 :                           {
   12352            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12353            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12354            0 :                             if (res) return res;
   12355              :                           }
   12356              :                         }
   12357            0 :                       if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
   12358              :                         {
   12359            0 :                           {
   12360            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12361            0 :                             tree res = generic_simplify_552 (loc, type, _p0, _p1, _p2, captures, MAX_EXPR);
   12362            0 :                             if (res) return res;
   12363              :                           }
   12364              :                         }
   12365              :                     }
   12366              :                 }
   12367              :               break;
   12368              :             }
   12369            6 :           case MULT_EXPR:
   12370            6 :             {
   12371            6 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12372            6 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12373            6 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12374              :                 {
   12375            6 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12376              :                     {
   12377            6 :                       switch (TREE_CODE (_p2))
   12378              :                         {
   12379            6 :                         case MULT_EXPR:
   12380            6 :                           {
   12381            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12382            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12383            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12384              :                               {
   12385            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   12386              :                                   {
   12387            6 :                                     {
   12388            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12389            6 :                                       const enum tree_code op = MULT_EXPR;
   12390            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12391              : )
   12392              :                                         {
   12393            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1942;
   12394            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
   12395            6 :                                           {
   12396            6 :                                             tree _r;
   12397            6 :                                             _r = captures[2];
   12398            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12399            6 :                                             return _r;
   12400              :                                           }
   12401            0 : next_after_fail1942:;
   12402              :                                         }
   12403              :                                     }
   12404              :                                   }
   12405              :                               }
   12406              :                             break;
   12407              :                           }
   12408              :                         default:;
   12409              :                         }
   12410              :                     }
   12411              :                 }
   12412            0 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12413              :                 {
   12414            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12415              :                     {
   12416            0 :                       switch (TREE_CODE (_p2))
   12417              :                         {
   12418            0 :                         case MULT_EXPR:
   12419            0 :                           {
   12420            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12421            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12422            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12423              :                               {
   12424            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   12425              :                                   {
   12426            0 :                                     {
   12427            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12428            0 :                                       const enum tree_code op = MULT_EXPR;
   12429            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12430              : )
   12431              :                                         {
   12432            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1943;
   12433            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
   12434            0 :                                           {
   12435            0 :                                             tree _r;
   12436            0 :                                             _r = captures[2];
   12437            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12438            0 :                                             return _r;
   12439              :                                           }
   12440            0 : next_after_fail1943:;
   12441              :                                         }
   12442              :                                     }
   12443              :                                   }
   12444              :                               }
   12445              :                             break;
   12446              :                           }
   12447              :                         default:;
   12448              :                         }
   12449              :                     }
   12450              :                 }
   12451              :               break;
   12452              :             }
   12453           35 :           case PLUS_EXPR:
   12454           35 :             {
   12455           35 :               tree _q50 = TREE_OPERAND (_p1, 0);
   12456           35 :               tree _q51 = TREE_OPERAND (_p1, 1);
   12457           35 :               if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12458              :                 {
   12459           24 :                   if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
   12460              :                     {
   12461           12 :                       switch (TREE_CODE (_p2))
   12462              :                         {
   12463            6 :                         case PLUS_EXPR:
   12464            6 :                           {
   12465            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12466            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12467            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12468              :                               {
   12469            6 :                                 if ((_q81 == _q20 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q20, 0) && types_match (_q81, _q20)))
   12470              :                                   {
   12471            6 :                                     {
   12472            6 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   12473            6 :                                       const enum tree_code op = PLUS_EXPR;
   12474            6 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12475              : )
   12476              :                                         {
   12477            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1944;
   12478            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
   12479            6 :                                           {
   12480            6 :                                             tree _r;
   12481            6 :                                             _r = captures[2];
   12482            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12483            6 :                                             return _r;
   12484              :                                           }
   12485            0 : next_after_fail1944:;
   12486              :                                         }
   12487              :                                     }
   12488              :                                   }
   12489              :                               }
   12490              :                             break;
   12491              :                           }
   12492            6 :                         case MULT_EXPR:
   12493            6 :                           {
   12494            6 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12495            6 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12496            6 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12497              :                               {
   12498            6 :                                 if (uniform_integer_cst_p (_q81))
   12499              :                                   {
   12500            6 :                                     {
   12501            6 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   12502            6 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12503              : )
   12504              :                                         {
   12505            6 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1945;
   12506            6 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
   12507            6 :                                           {
   12508            6 :                                             tree _r;
   12509            6 :                                             _r = captures[2];
   12510            6 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12511            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12512            6 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12513            6 :                                             return _r;
   12514              :                                           }
   12515            0 : next_after_fail1945:;
   12516              :                                         }
   12517              :                                     }
   12518              :                                   }
   12519              :                               }
   12520            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12521              :                               {
   12522            0 :                                 if (uniform_integer_cst_p (_q81))
   12523              :                                   {
   12524            0 :                                     {
   12525            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   12526            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12527              : )
   12528              :                                         {
   12529            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1946;
   12530            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
   12531            0 :                                           {
   12532            0 :                                             tree _r;
   12533            0 :                                             _r = captures[2];
   12534            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12535            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12536            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12537            0 :                                             return _r;
   12538              :                                           }
   12539            0 : next_after_fail1946:;
   12540              :                                         }
   12541              :                                     }
   12542              :                                   }
   12543              :                               }
   12544              :                             break;
   12545              :                           }
   12546              :                         default:;
   12547              :                         }
   12548              :                     }
   12549              :                 }
   12550           23 :               if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
   12551              :                 {
   12552            0 :                   if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
   12553              :                     {
   12554            0 :                       switch (TREE_CODE (_p2))
   12555              :                         {
   12556            0 :                         case PLUS_EXPR:
   12557            0 :                           {
   12558            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12559            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12560            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12561              :                               {
   12562            0 :                                 if ((_q81 == _q21 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q21, 0) && types_match (_q81, _q21)))
   12563              :                                   {
   12564            0 :                                     {
   12565            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
   12566            0 :                                       const enum tree_code op = PLUS_EXPR;
   12567            0 :                                       if (ANY_INTEGRAL_TYPE_P (type)
   12568              : )
   12569              :                                         {
   12570            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1947;
   12571            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
   12572            0 :                                           {
   12573            0 :                                             tree _r;
   12574            0 :                                             _r = captures[2];
   12575            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1054, __FILE__, __LINE__, true);
   12576            0 :                                             return _r;
   12577              :                                           }
   12578            0 : next_after_fail1947:;
   12579              :                                         }
   12580              :                                     }
   12581              :                                   }
   12582              :                               }
   12583              :                             break;
   12584              :                           }
   12585            0 :                         case MULT_EXPR:
   12586            0 :                           {
   12587            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12588            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12589            0 :                             if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
   12590              :                               {
   12591            0 :                                 if (uniform_integer_cst_p (_q81))
   12592              :                                   {
   12593            0 :                                     {
   12594            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q81 };
   12595            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12596              : )
   12597              :                                         {
   12598            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1948;
   12599            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
   12600            0 :                                           {
   12601            0 :                                             tree _r;
   12602            0 :                                             _r = captures[2];
   12603            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12604            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12605            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12606            0 :                                             return _r;
   12607              :                                           }
   12608            0 : next_after_fail1948:;
   12609              :                                         }
   12610              :                                     }
   12611              :                                   }
   12612              :                               }
   12613            0 :                             if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
   12614              :                               {
   12615            0 :                                 if (uniform_integer_cst_p (_q81))
   12616              :                                   {
   12617            0 :                                     {
   12618            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q81 };
   12619            0 :                                       if (wi::to_wide (uniform_integer_cst_p (captures[3])) == 2
   12620              : )
   12621              :                                         {
   12622            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1949;
   12623            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
   12624            0 :                                           {
   12625            0 :                                             tree _r;
   12626            0 :                                             _r = captures[2];
   12627            0 :                                             if (TREE_SIDE_EFFECTS (captures[3]))
   12628            0 :                                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
   12629            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1055, __FILE__, __LINE__, true);
   12630            0 :                                             return _r;
   12631              :                                           }
   12632            0 : next_after_fail1949:;
   12633              :                                         }
   12634              :                                     }
   12635              :                                   }
   12636              :                               }
   12637              :                             break;
   12638              :                           }
   12639              :                         default:;
   12640              :                         }
   12641              :                     }
   12642              :                 }
   12643              :               break;
   12644              :             }
   12645              :           default:;
   12646              :           }
   12647              :         break;
   12648              :       }
   12649       454658 :     default:;
   12650              :     }
   12651       454658 :   switch (TREE_CODE (_p1))
   12652              :     {
   12653            6 :     case VEC_COND_EXPR:
   12654            6 :       {
   12655            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12656            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12657            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12658            6 :         if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   12659              :           {
   12660            0 :             {
   12661            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
   12662            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
   12663            0 :               {
   12664            0 :                 tree res_op0;
   12665            0 :                 res_op0 = captures[0];
   12666            0 :                 tree res_op1;
   12667            0 :                 res_op1 = captures[1];
   12668            0 :                 tree res_op2;
   12669            0 :                 res_op2 = captures[3];
   12670            0 :                 tree _r;
   12671            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   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", 1063, __FILE__, __LINE__, true);
   12675            0 :                 return _r;
   12676              :               }
   12677            0 : next_after_fail1950:;
   12678              :             }
   12679              :           }
   12680              :         break;
   12681              :       }
   12682       454658 :     default:;
   12683              :     }
   12684       454658 :   switch (TREE_CODE (_p2))
   12685              :     {
   12686            3 :     case VEC_COND_EXPR:
   12687            3 :       {
   12688            3 :         tree _q40 = TREE_OPERAND (_p2, 0);
   12689            3 :         tree _q41 = TREE_OPERAND (_p2, 1);
   12690            3 :         tree _q42 = TREE_OPERAND (_p2, 2);
   12691            3 :         if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   12692              :           {
   12693            0 :             {
   12694            0 :               tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
   12695            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
   12696            0 :               {
   12697            0 :                 tree res_op0;
   12698            0 :                 res_op0 = captures[0];
   12699            0 :                 tree res_op1;
   12700            0 :                 res_op1 = captures[1];
   12701            0 :                 tree res_op2;
   12702            0 :                 res_op2 = captures[3];
   12703            0 :                 tree _r;
   12704            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12705            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12706            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12707            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
   12708            0 :                 return _r;
   12709              :               }
   12710            0 : next_after_fail1951:;
   12711              :             }
   12712              :           }
   12713            3 :         {
   12714            3 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
   12715            3 :           if (inverse_conditions_p (captures[0], captures[2])
   12716              : )
   12717              :             {
   12718            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
   12719            0 :               {
   12720            0 :                 tree res_op0;
   12721            0 :                 res_op0 = captures[0];
   12722            0 :                 tree res_op1;
   12723            0 :                 res_op1 = captures[1];
   12724            0 :                 tree res_op2;
   12725            0 :                 res_op2 = captures[3];
   12726            0 :                 tree _r;
   12727            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12728            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12729            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12730            0 :                 if (TREE_SIDE_EFFECTS (captures[4]))
   12731            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
   12732            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1065, __FILE__, __LINE__, true);
   12733            0 :                 return _r;
   12734              :               }
   12735            0 : next_after_fail1952:;
   12736              :             }
   12737              :         }
   12738            3 :         break;
   12739              :       }
   12740       454658 :     default:;
   12741              :     }
   12742       454658 :   switch (TREE_CODE (_p1))
   12743              :     {
   12744            6 :     case VEC_COND_EXPR:
   12745            6 :       {
   12746            6 :         tree _q30 = TREE_OPERAND (_p1, 0);
   12747            6 :         tree _q31 = TREE_OPERAND (_p1, 1);
   12748            6 :         tree _q32 = TREE_OPERAND (_p1, 2);
   12749            6 :         {
   12750            6 :           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
   12751            6 :           if (inverse_conditions_p (captures[0], captures[1])
   12752              : )
   12753              :             {
   12754            0 :               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
   12755            0 :               {
   12756            0 :                 tree res_op0;
   12757            0 :                 res_op0 = captures[0];
   12758            0 :                 tree res_op1;
   12759            0 :                 res_op1 = captures[3];
   12760            0 :                 tree res_op2;
   12761            0 :                 res_op2 = captures[4];
   12762            0 :                 tree _r;
   12763            0 :                 _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   12764            0 :                 if (TREE_SIDE_EFFECTS (captures[1]))
   12765            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
   12766            0 :                 if (TREE_SIDE_EFFECTS (captures[2]))
   12767            0 :                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12768            0 :                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1066, __FILE__, __LINE__, true);
   12769            0 :                 return _r;
   12770              :               }
   12771            0 : next_after_fail1953:;
   12772              :             }
   12773              :         }
   12774            6 :         break;
   12775              :       }
   12776       454658 :     default:;
   12777              :     }
   12778       454658 :   if ((_p2 == _p1 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _p1, 0) && types_match (_p2, _p1)))
   12779              :     {
   12780           36 :       {
   12781           36 :         tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
   12782           36 :         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1954;
   12783           36 :         {
   12784           36 :           tree _r;
   12785           36 :           _r = captures[1];
   12786           36 :           if (TREE_SIDE_EFFECTS (captures[0]))
   12787            0 :             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12788           36 :           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1067, __FILE__, __LINE__, true);
   12789           36 :           return _r;
   12790              :         }
   12791            0 : next_after_fail1954:;
   12792              :       }
   12793              :     }
   12794       454622 :   switch (TREE_CODE (_p0))
   12795              :     {
   12796        67863 :     case EQ_EXPR:
   12797        67863 :       {
   12798        67863 :         tree _q20 = TREE_OPERAND (_p0, 0);
   12799        67863 :         tree _q21 = TREE_OPERAND (_p0, 1);
   12800        67863 :         if (CONSTANT_CLASS_P (_q21))
   12801              :           {
   12802         1663 :             {
   12803         1663 :               tree _p1_pops[1];
   12804         1663 :               if (tree_nop_convert (_p1, _p1_pops))
   12805              :                 {
   12806            0 :                   tree _q50 = _p1_pops[0];
   12807            0 :                   if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
   12808              :                     {
   12809            0 :                       if (CONSTANT_CLASS_P (_p2))
   12810              :                         {
   12811            0 :                           {
   12812            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12813            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   12814            0 :  && operand_equal_p (captures[1], captures[2])
   12815              : )
   12816              :                               {
   12817            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1955;
   12818            0 :                                 {
   12819            0 :                                   tree res_op0;
   12820            0 :                                   res_op0 = captures[1];
   12821            0 :                                   tree _r;
   12822            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   12823            0 :                                   if (TREE_SIDE_EFFECTS (captures[0]))
   12824            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12825            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
   12826            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12827            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   12828            0 :                                   return _r;
   12829              :                                 }
   12830            0 : next_after_fail1955:;
   12831              :                               }
   12832              :                           }
   12833              :                         }
   12834              :                     }
   12835              :                 }
   12836              :             }
   12837         1663 :             if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12838              :               {
   12839            0 :                 if (CONSTANT_CLASS_P (_p2))
   12840              :                   {
   12841            0 :                     {
   12842            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
   12843            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   12844            0 :  && operand_equal_p (captures[1], captures[2])
   12845              : )
   12846              :                         {
   12847            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1956;
   12848            0 :                           {
   12849            0 :                             tree res_op0;
   12850            0 :                             res_op0 = captures[1];
   12851            0 :                             tree _r;
   12852            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   12853            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
   12854            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   12855            0 :                             if (TREE_SIDE_EFFECTS (captures[2]))
   12856            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   12857            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1068, __FILE__, __LINE__, true);
   12858            0 :                             return _r;
   12859              :                           }
   12860            0 : next_after_fail1956:;
   12861              :                         }
   12862              :                     }
   12863              :                   }
   12864              :               }
   12865              :           }
   12866        67863 :         if (zerop (_q21))
   12867              :           {
   12868         1597 :             switch (TREE_CODE (_p2))
   12869              :               {
   12870            0 :               case NEGATE_EXPR:
   12871            0 :                 {
   12872            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   12873            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   12874              :                     {
   12875            0 :                       {
   12876            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   12877            0 :                         const enum tree_code cmp = EQ_EXPR;
   12878            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12879            0 :  && bitwise_equal_p (captures[0], captures[1])
   12880              : )
   12881              :                           {
   12882            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1957;
   12883            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1957;
   12884            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1957;
   12885            0 :                             {
   12886            0 :                               tree _r;
   12887            0 :                               _r = captures[2];
   12888            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   12889            0 :                               return _r;
   12890              :                             }
   12891            0 : next_after_fail1957:;
   12892              :                           }
   12893              :                       }
   12894              :                     }
   12895              :                   break;
   12896              :                 }
   12897         1597 :               default:;
   12898              :               }
   12899         1597 :             if (zerop (_p1))
   12900              :               {
   12901           18 :                 switch (TREE_CODE (_p2))
   12902              :                   {
   12903            0 :                   case NEGATE_EXPR:
   12904            0 :                     {
   12905            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   12906            0 :                       {
   12907            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   12908            0 :                         const enum tree_code cmp = EQ_EXPR;
   12909            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   12910            0 :  && bitwise_equal_p (captures[0], captures[2])
   12911              : )
   12912              :                           {
   12913            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1958;
   12914            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1958;
   12915            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1958;
   12916            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1958;
   12917            0 :                             {
   12918            0 :                               tree _r;
   12919            0 :                               _r = captures[1];
   12920            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   12921            0 :                               return _r;
   12922              :                             }
   12923            0 : next_after_fail1958:;
   12924              :                           }
   12925              :                       }
   12926            0 :                       break;
   12927              :                     }
   12928              :                   default:;
   12929              :                   }
   12930              :               }
   12931              :           }
   12932        67863 :         switch (TREE_CODE (_q20))
   12933              :           {
   12934            0 :           case MINUS_EXPR:
   12935            0 :             {
   12936            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   12937            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   12938            0 :               if (zerop (_q21))
   12939              :                 {
   12940            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   12941              :                     {
   12942            0 :                       switch (TREE_CODE (_p2))
   12943              :                         {
   12944            0 :                         case MINUS_EXPR:
   12945            0 :                           {
   12946            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12947            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12948            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12949              :                               {
   12950            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12951              :                                   {
   12952            0 :                                     {
   12953            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12954            0 :                                       const enum tree_code cmp = EQ_EXPR;
   12955            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   12956              : )
   12957              :                                         {
   12958            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1959;
   12959            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1959;
   12960            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1959;
   12961            0 :                                           {
   12962            0 :                                             tree _r;
   12963            0 :                                             _r = captures[3];
   12964            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   12965            0 :                                             return _r;
   12966              :                                           }
   12967            0 : next_after_fail1959:;
   12968              :                                         }
   12969              :                                     }
   12970              :                                   }
   12971              :                               }
   12972              :                             break;
   12973              :                           }
   12974              :                         default:;
   12975              :                         }
   12976              :                     }
   12977              :                 }
   12978            0 :               if (integer_zerop (_q21))
   12979              :                 {
   12980            0 :                   if (integer_zerop (_p1))
   12981              :                     {
   12982            0 :                       switch (TREE_CODE (_p2))
   12983              :                         {
   12984            0 :                         case MINUS_EXPR:
   12985            0 :                           {
   12986            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   12987            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   12988            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   12989              :                               {
   12990            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   12991              :                                   {
   12992            0 :                                     {
   12993            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   12994            0 :                                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, EQ_EXPR);
   12995            0 :                                       if (res) return res;
   12996              :                                     }
   12997              :                                   }
   12998              :                               }
   12999              :                             break;
   13000              :                           }
   13001              :                         default:;
   13002              :                         }
   13003              :                     }
   13004              :                 }
   13005              :               break;
   13006              :             }
   13007              :           default:;
   13008              :           }
   13009              :         break;
   13010              :       }
   13011         1359 :     case NE_EXPR:
   13012         1359 :       {
   13013         1359 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13014         1359 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13015         1359 :         if (CONSTANT_CLASS_P (_q21))
   13016              :           {
   13017          461 :             if (CONSTANT_CLASS_P (_p1))
   13018              :               {
   13019          262 :                 {
   13020          262 :                   tree _p2_pops[1];
   13021          262 :                   if (tree_nop_convert (_p2, _p2_pops))
   13022              :                     {
   13023            0 :                       tree _q60 = _p2_pops[0];
   13024            0 :                       if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
   13025              :                         {
   13026            0 :                           {
   13027            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   13028            0 :                             if (ANY_INTEGRAL_TYPE_P (type)
   13029            0 :  && operand_equal_p (captures[1], captures[2])
   13030              : )
   13031              :                               {
   13032            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1960;
   13033            0 :                                 {
   13034            0 :                                   tree res_op0;
   13035            0 :                                   res_op0 = captures[1];
   13036            0 :                                   tree _r;
   13037            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13038            0 :                                   if (TREE_SIDE_EFFECTS (captures[0]))
   13039            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13040            0 :                                   if (TREE_SIDE_EFFECTS (captures[2]))
   13041            0 :                                     _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13042            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13043            0 :                                   return _r;
   13044              :                                 }
   13045            0 : next_after_fail1960:;
   13046              :                               }
   13047              :                           }
   13048              :                         }
   13049              :                     }
   13050              :                 }
   13051          262 :                 if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
   13052              :                   {
   13053            0 :                     {
   13054            0 :                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
   13055            0 :                       if (ANY_INTEGRAL_TYPE_P (type)
   13056            0 :  && operand_equal_p (captures[1], captures[2])
   13057              : )
   13058              :                         {
   13059            0 :                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1961;
   13060            0 :                           {
   13061            0 :                             tree res_op0;
   13062            0 :                             res_op0 = captures[1];
   13063            0 :                             tree _r;
   13064            0 :                             _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   13065            0 :                             if (TREE_SIDE_EFFECTS (captures[0]))
   13066            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
   13067            0 :                             if (TREE_SIDE_EFFECTS (captures[2]))
   13068            0 :                               _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13069            0 :                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1072, __FILE__, __LINE__, true);
   13070            0 :                             return _r;
   13071              :                           }
   13072            0 : next_after_fail1961:;
   13073              :                         }
   13074              :                     }
   13075              :                   }
   13076              :               }
   13077              :           }
   13078         1359 :         if (zerop (_q21))
   13079              :           {
   13080          383 :             switch (TREE_CODE (_p2))
   13081              :               {
   13082            0 :               case NEGATE_EXPR:
   13083            0 :                 {
   13084            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13085            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13086              :                     {
   13087            0 :                       {
   13088            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13089            0 :                         const enum tree_code cmp = NE_EXPR;
   13090            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13091            0 :  && bitwise_equal_p (captures[0], captures[1])
   13092              : )
   13093              :                           {
   13094            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1962;
   13095            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1962;
   13096            0 :                             {
   13097            0 :                               tree _r;
   13098            0 :                               _r = captures[1];
   13099            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13100            0 :                               return _r;
   13101              :                             }
   13102            0 : next_after_fail1962:;
   13103              :                           }
   13104              :                       }
   13105              :                     }
   13106              :                   break;
   13107              :                 }
   13108          383 :               default:;
   13109              :               }
   13110          383 :           if (integer_zerop (_p2))
   13111              :             {
   13112          190 :               {
   13113          190 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13114          190 :                 const enum tree_code cmp = NE_EXPR;
   13115          190 :                 if (!HONOR_SIGNED_ZEROS (type)
   13116          190 :  && bitwise_equal_p (captures[0], captures[1])
   13117              : )
   13118              :                   {
   13119            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1963;
   13120            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1963;
   13121            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1963;
   13122            0 :                     {
   13123            0 :                       tree _r;
   13124            0 :                       _r = captures[1];
   13125            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13126            0 :                       return _r;
   13127              :                     }
   13128          190 : next_after_fail1963:;
   13129              :                   }
   13130              :               }
   13131              :             }
   13132              :           }
   13133         1359 :         switch (TREE_CODE (_q20))
   13134              :           {
   13135           40 :           case MINUS_EXPR:
   13136           40 :             {
   13137           40 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13138           40 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13139           40 :               if (zerop (_q21))
   13140              :                 {
   13141            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13142              :                     {
   13143            0 :                       switch (TREE_CODE (_p2))
   13144              :                         {
   13145            0 :                         case MINUS_EXPR:
   13146            0 :                           {
   13147            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13148            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13149            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13150              :                               {
   13151            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13152              :                                   {
   13153            0 :                                     {
   13154            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13155            0 :                                       const enum tree_code cmp = NE_EXPR;
   13156            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13157              : )
   13158              :                                         {
   13159            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1964;
   13160            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1964;
   13161            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1964;
   13162            0 :                                           {
   13163            0 :                                             tree _r;
   13164            0 :                                             _r = captures[0];
   13165            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13166            0 :                                             return _r;
   13167              :                                           }
   13168            0 : next_after_fail1964:;
   13169              :                                         }
   13170              :                                     }
   13171              :                                   }
   13172              :                               }
   13173              :                             break;
   13174              :                           }
   13175              :                         default:;
   13176              :                         }
   13177              :                     }
   13178              :                 }
   13179           40 :               if (integer_zerop (_q21))
   13180              :                 {
   13181            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13182              :                     {
   13183            0 :                       if (integer_zerop (_p2))
   13184              :                         {
   13185            0 :                           {
   13186            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13187            0 :                             tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, NE_EXPR);
   13188            0 :                             if (res) return res;
   13189              :                           }
   13190              :                         }
   13191              :                     }
   13192              :                 }
   13193              :               break;
   13194              :             }
   13195              :           default:;
   13196              :           }
   13197              :         break;
   13198              :       }
   13199            0 :     case UNEQ_EXPR:
   13200            0 :       {
   13201            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13202            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13203            0 :         if (zerop (_q21))
   13204              :           {
   13205            0 :             switch (TREE_CODE (_p2))
   13206              :               {
   13207            0 :               case NEGATE_EXPR:
   13208            0 :                 {
   13209            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13210            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13211              :                     {
   13212            0 :                       {
   13213            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   13214            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   13215            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13216            0 :  && bitwise_equal_p (captures[0], captures[1])
   13217              : )
   13218              :                           {
   13219            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1965;
   13220            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1965;
   13221            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1965;
   13222            0 :                             {
   13223            0 :                               tree _r;
   13224            0 :                               _r = captures[2];
   13225            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1069, __FILE__, __LINE__, true);
   13226            0 :                               return _r;
   13227              :                             }
   13228            0 : next_after_fail1965:;
   13229              :                           }
   13230              :                       }
   13231              :                     }
   13232              :                   break;
   13233              :                 }
   13234            0 :               default:;
   13235              :               }
   13236            0 :             if (zerop (_p1))
   13237              :               {
   13238            0 :                 switch (TREE_CODE (_p2))
   13239              :                   {
   13240            0 :                   case NEGATE_EXPR:
   13241            0 :                     {
   13242            0 :                       tree _q60 = TREE_OPERAND (_p2, 0);
   13243            0 :                       {
   13244            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p2, _q60 };
   13245            0 :                         const enum tree_code cmp = UNEQ_EXPR;
   13246            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13247            0 :  && bitwise_equal_p (captures[0], captures[2])
   13248              : )
   13249              :                           {
   13250            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1966;
   13251            0 :                             if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1966;
   13252            0 :                             if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1966;
   13253            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1966;
   13254            0 :                             {
   13255            0 :                               tree _r;
   13256            0 :                               _r = captures[1];
   13257            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1070, __FILE__, __LINE__, true);
   13258            0 :                               return _r;
   13259              :                             }
   13260            0 : next_after_fail1966:;
   13261              :                           }
   13262              :                       }
   13263            0 :                       break;
   13264              :                     }
   13265              :                   default:;
   13266              :                   }
   13267              :               }
   13268              :           }
   13269            0 :         switch (TREE_CODE (_q20))
   13270              :           {
   13271            0 :           case MINUS_EXPR:
   13272            0 :             {
   13273            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13274            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13275            0 :               if (zerop (_q21))
   13276              :                 {
   13277            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13278              :                     {
   13279            0 :                       switch (TREE_CODE (_p2))
   13280              :                         {
   13281            0 :                         case MINUS_EXPR:
   13282            0 :                           {
   13283            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13284            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13285            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13286              :                               {
   13287            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13288              :                                   {
   13289            0 :                                     {
   13290            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13291            0 :                                       const enum tree_code cmp = UNEQ_EXPR;
   13292            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13293              : )
   13294              :                                         {
   13295            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1967;
   13296            0 :                                           if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1967;
   13297            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1967;
   13298            0 :                                           {
   13299            0 :                                             tree _r;
   13300            0 :                                             _r = captures[3];
   13301            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1071, __FILE__, __LINE__, true);
   13302            0 :                                             return _r;
   13303              :                                           }
   13304            0 : next_after_fail1967:;
   13305              :                                         }
   13306              :                                     }
   13307              :                                   }
   13308              :                               }
   13309              :                             break;
   13310              :                           }
   13311              :                         default:;
   13312              :                         }
   13313              :                     }
   13314              :                 }
   13315            0 :               if (integer_zerop (_q21))
   13316              :                 {
   13317            0 :                   if (integer_zerop (_p1))
   13318              :                     {
   13319            0 :                       switch (TREE_CODE (_p2))
   13320              :                         {
   13321            0 :                         case MINUS_EXPR:
   13322            0 :                           {
   13323            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13324            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13325            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13326              :                               {
   13327            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13328              :                                   {
   13329            0 :                                     {
   13330            0 :                                       tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p2 };
   13331            0 :                                       tree res = generic_simplify_553 (loc, type, _p0, _p1, _p2, captures, UNEQ_EXPR);
   13332            0 :                                       if (res) return res;
   13333              :                                     }
   13334              :                                   }
   13335              :                               }
   13336              :                             break;
   13337              :                           }
   13338              :                         default:;
   13339              :                         }
   13340              :                     }
   13341              :                 }
   13342              :               break;
   13343              :             }
   13344              :           default:;
   13345              :           }
   13346              :         break;
   13347              :       }
   13348            0 :     case LTGT_EXPR:
   13349            0 :       {
   13350            0 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13351            0 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13352            0 :         if (zerop (_q21))
   13353              :           {
   13354            0 :             switch (TREE_CODE (_p2))
   13355              :               {
   13356            0 :               case NEGATE_EXPR:
   13357            0 :                 {
   13358            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13359            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13360              :                     {
   13361            0 :                       {
   13362            0 :                         tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13363            0 :                         const enum tree_code cmp = LTGT_EXPR;
   13364            0 :                         if (!HONOR_SIGNED_ZEROS (type)
   13365            0 :  && bitwise_equal_p (captures[0], captures[1])
   13366              : )
   13367              :                           {
   13368            0 :                             if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1968;
   13369            0 :                             if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1968;
   13370            0 :                             {
   13371            0 :                               tree _r;
   13372            0 :                               _r = captures[1];
   13373            0 :                               if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1073, __FILE__, __LINE__, true);
   13374            0 :                               return _r;
   13375              :                             }
   13376            0 : next_after_fail1968:;
   13377              :                           }
   13378              :                       }
   13379              :                     }
   13380              :                   break;
   13381              :                 }
   13382            0 :               default:;
   13383              :               }
   13384            0 :           if (integer_zerop (_p2))
   13385              :             {
   13386            0 :               {
   13387            0 :                 tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
   13388            0 :                 const enum tree_code cmp = LTGT_EXPR;
   13389            0 :                 if (!HONOR_SIGNED_ZEROS (type)
   13390            0 :  && bitwise_equal_p (captures[0], captures[1])
   13391              : )
   13392              :                   {
   13393            0 :                     if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1969;
   13394            0 :                     if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail1969;
   13395            0 :                     if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1969;
   13396            0 :                     {
   13397            0 :                       tree _r;
   13398            0 :                       _r = captures[1];
   13399            0 :                       if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1074, __FILE__, __LINE__, true);
   13400            0 :                       return _r;
   13401              :                     }
   13402            0 : next_after_fail1969:;
   13403              :                   }
   13404              :               }
   13405              :             }
   13406              :           }
   13407            0 :         switch (TREE_CODE (_q20))
   13408              :           {
   13409            0 :           case MINUS_EXPR:
   13410            0 :             {
   13411            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13412            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13413            0 :               if (zerop (_q21))
   13414              :                 {
   13415            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13416              :                     {
   13417            0 :                       switch (TREE_CODE (_p2))
   13418              :                         {
   13419            0 :                         case MINUS_EXPR:
   13420            0 :                           {
   13421            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13422            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13423            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13424              :                               {
   13425            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13426              :                                   {
   13427            0 :                                     {
   13428            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13429            0 :                                       const enum tree_code cmp = LTGT_EXPR;
   13430            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13431              : )
   13432              :                                         {
   13433            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1970;
   13434            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1970;
   13435            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1970;
   13436            0 :                                           {
   13437            0 :                                             tree _r;
   13438            0 :                                             _r = captures[0];
   13439            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1075, __FILE__, __LINE__, true);
   13440            0 :                                             return _r;
   13441              :                                           }
   13442            0 : next_after_fail1970:;
   13443              :                                         }
   13444              :                                     }
   13445              :                                   }
   13446              :                               }
   13447              :                             break;
   13448              :                           }
   13449              :                         default:;
   13450              :                         }
   13451              :                     }
   13452              :                 }
   13453            0 :               if (integer_zerop (_q21))
   13454              :                 {
   13455            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13456              :                     {
   13457            0 :                       if (integer_zerop (_p2))
   13458              :                         {
   13459            0 :                           {
   13460            0 :                             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13461            0 :                             tree res = generic_simplify_554 (loc, type, _p0, _p1, _p2, captures, LTGT_EXPR);
   13462            0 :                             if (res) return res;
   13463              :                           }
   13464              :                         }
   13465              :                     }
   13466              :                 }
   13467              :               break;
   13468              :             }
   13469              :           default:;
   13470              :           }
   13471              :         break;
   13472              :       }
   13473         1198 :     case GE_EXPR:
   13474         1198 :       {
   13475         1198 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13476         1198 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13477         1198 :         switch (TREE_CODE (_q20))
   13478              :           {
   13479            3 :           CASE_CONVERT:
   13480            3 :             {
   13481            3 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13482            3 :               if (zerop (_q21))
   13483              :                 {
   13484            0 :                   switch (TREE_CODE (_p2))
   13485              :                     {
   13486            0 :                     case NEGATE_EXPR:
   13487            0 :                       {
   13488            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13489            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13490              :                           {
   13491            0 :                             {
   13492            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13493            0 :                               const enum tree_code cmp = GE_EXPR;
   13494            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13495            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13496            0 :  && element_precision (captures[1])
   13497            0 :  <= element_precision (captures[0])
   13498            0 :  && bitwise_equal_p (captures[1], captures[2])
   13499            0 :  && (!VECTOR_TYPE_P (type)
   13500            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13501              : )
   13502              :                                 {
   13503            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13504              : )
   13505              :                                     {
   13506            0 :                                       {
   13507            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13508            0 :                                           if (types_match (captures[0], stype)
   13509              : )
   13510              :                                             {
   13511            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1971;
   13512            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1971;
   13513            0 :                                               {
   13514            0 :                                                 tree res_op0;
   13515            0 :                                                 res_op0 = captures[0];
   13516            0 :                                                 tree _r;
   13517            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13518            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13519            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13520            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13521            0 :                                                 return _r;
   13522              :                                               }
   13523            0 : next_after_fail1971:;
   13524              :                                             }
   13525              :                                           else
   13526              :                                             {
   13527            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1972;
   13528            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1972;
   13529            0 :                                               {
   13530            0 :                                                 tree res_op0;
   13531            0 :                                                 {
   13532            0 :                                                   tree _o1[1], _r1;
   13533            0 :                                                   _o1[0] = captures[2];
   13534            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   13535              :                                                     {
   13536            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13537              :                                                     }
   13538              :                                                   else
   13539              :                                                     _r1 = _o1[0];
   13540            0 :                                                   res_op0 = _r1;
   13541              :                                                 }
   13542            0 :                                                 tree _r;
   13543            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13544            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13545            0 :                                                 return _r;
   13546              :                                               }
   13547            0 : next_after_fail1972:;
   13548              :                                             }
   13549              :                                       }
   13550              :                                     }
   13551              :                                   else
   13552              :                                     {
   13553            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1973;
   13554            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1973;
   13555            0 :                                       {
   13556            0 :                                         tree res_op0;
   13557            0 :                                         res_op0 = captures[2];
   13558            0 :                                         tree _r;
   13559            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13560            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13561            0 :                                         return _r;
   13562              :                                       }
   13563            0 : next_after_fail1973:;
   13564              :                                     }
   13565              :                                 }
   13566              :                             }
   13567              :                           }
   13568              :                         break;
   13569              :                       }
   13570              :                     default:;
   13571              :                     }
   13572              :                 }
   13573              :               break;
   13574              :             }
   13575         1198 :           default:;
   13576              :           }
   13577         1198 :         if (zerop (_q21))
   13578              :           {
   13579          350 :             switch (TREE_CODE (_p2))
   13580              :               {
   13581            3 :               case NEGATE_EXPR:
   13582            3 :                 {
   13583            3 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13584            3 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13585              :                     {
   13586            3 :                       {
   13587            3 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13588            3 :                         const enum tree_code cmp = GE_EXPR;
   13589            3 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13590            3 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13591            6 :  && element_precision (captures[1])
   13592            3 :  <= element_precision (captures[0])
   13593            3 :  && bitwise_equal_p (captures[1], captures[2])
   13594            6 :  && (!VECTOR_TYPE_P (type)
   13595            3 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13596              : )
   13597              :                           {
   13598            3 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13599              : )
   13600              :                               {
   13601            0 :                                 {
   13602            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13603            0 :                                     if (types_match (captures[0], stype)
   13604              : )
   13605              :                                       {
   13606            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1974;
   13607            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1974;
   13608            0 :                                         {
   13609            0 :                                           tree res_op0;
   13610            0 :                                           res_op0 = captures[0];
   13611            0 :                                           tree _r;
   13612            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13613            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13614            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13615            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13616            0 :                                           return _r;
   13617              :                                         }
   13618            0 : next_after_fail1974:;
   13619              :                                       }
   13620              :                                     else
   13621              :                                       {
   13622            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1975;
   13623            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1975;
   13624            0 :                                         {
   13625            0 :                                           tree res_op0;
   13626            0 :                                           {
   13627            0 :                                             tree _o1[1], _r1;
   13628            0 :                                             _o1[0] = captures[2];
   13629            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13630              :                                               {
   13631            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13632              :                                               }
   13633              :                                             else
   13634              :                                               _r1 = _o1[0];
   13635            0 :                                             res_op0 = _r1;
   13636              :                                           }
   13637            0 :                                           tree _r;
   13638            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13639            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13640            0 :                                           return _r;
   13641              :                                         }
   13642            0 : next_after_fail1975:;
   13643              :                                       }
   13644              :                                 }
   13645              :                               }
   13646              :                             else
   13647              :                               {
   13648            3 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1976;
   13649            3 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1976;
   13650            3 :                                 {
   13651            3 :                                   tree res_op0;
   13652            3 :                                   res_op0 = captures[2];
   13653            3 :                                   tree _r;
   13654            3 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13655            3 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13656            3 :                                   return _r;
   13657              :                                 }
   13658            0 : next_after_fail1976:;
   13659              :                               }
   13660              :                           }
   13661              :                       }
   13662              :                     }
   13663              :                   break;
   13664              :                 }
   13665              :               default:;
   13666              :               }
   13667              :           }
   13668         1195 :         switch (TREE_CODE (_q20))
   13669              :           {
   13670            0 :           case MINUS_EXPR:
   13671            0 :             {
   13672            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13673            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13674            0 :               if (zerop (_q21))
   13675              :                 {
   13676            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13677              :                     {
   13678            0 :                       switch (TREE_CODE (_p2))
   13679              :                         {
   13680            0 :                         case MINUS_EXPR:
   13681            0 :                           {
   13682            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13683            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13684            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13685              :                               {
   13686            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13687              :                                   {
   13688            0 :                                     {
   13689            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13690            0 :                                       const enum tree_code cmp = GE_EXPR;
   13691            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13692            0 :  && !TYPE_UNSIGNED (type)
   13693            0 :  && (!VECTOR_TYPE_P (type)
   13694            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13695              : )
   13696              :                                         {
   13697            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1977;
   13698            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1977;
   13699            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1977;
   13700            0 :                                           {
   13701            0 :                                             tree res_op0;
   13702            0 :                                             res_op0 = captures[0];
   13703            0 :                                             tree _r;
   13704            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13705            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   13706            0 :                                             return _r;
   13707              :                                           }
   13708            0 : next_after_fail1977:;
   13709              :                                         }
   13710              :                                     }
   13711              :                                   }
   13712              :                               }
   13713              :                             break;
   13714              :                           }
   13715              :                         default:;
   13716              :                         }
   13717              :                     }
   13718              :                 }
   13719              :               break;
   13720              :             }
   13721              :           default:;
   13722              :           }
   13723              :         break;
   13724              :       }
   13725        66507 :     case GT_EXPR:
   13726        66507 :       {
   13727        66507 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13728        66507 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13729        66507 :         switch (TREE_CODE (_q20))
   13730              :           {
   13731           13 :           CASE_CONVERT:
   13732           13 :             {
   13733           13 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13734           13 :               if (zerop (_q21))
   13735              :                 {
   13736            1 :                   switch (TREE_CODE (_p2))
   13737              :                     {
   13738            0 :                     case NEGATE_EXPR:
   13739            0 :                       {
   13740            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13741            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13742              :                           {
   13743            0 :                             {
   13744            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13745            0 :                               const enum tree_code cmp = GT_EXPR;
   13746            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13747            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13748            0 :  && element_precision (captures[1])
   13749            0 :  <= element_precision (captures[0])
   13750            0 :  && bitwise_equal_p (captures[1], captures[2])
   13751            0 :  && (!VECTOR_TYPE_P (type)
   13752            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13753              : )
   13754              :                                 {
   13755            0 :                                   if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13756              : )
   13757              :                                     {
   13758            0 :                                       {
   13759            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13760            0 :                                           if (types_match (captures[0], stype)
   13761              : )
   13762              :                                             {
   13763            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1978;
   13764            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1978;
   13765            0 :                                               {
   13766            0 :                                                 tree res_op0;
   13767            0 :                                                 res_op0 = captures[0];
   13768            0 :                                                 tree _r;
   13769            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13770            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   13771            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13772            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13773            0 :                                                 return _r;
   13774              :                                               }
   13775            0 : next_after_fail1978:;
   13776              :                                             }
   13777              :                                           else
   13778              :                                             {
   13779            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1979;
   13780            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1979;
   13781            0 :                                               {
   13782            0 :                                                 tree res_op0;
   13783            0 :                                                 {
   13784            0 :                                                   tree _o1[1], _r1;
   13785            0 :                                                   _o1[0] = captures[2];
   13786            0 :                                                   if (TREE_TYPE (_o1[0]) != stype)
   13787              :                                                     {
   13788            0 :                                                       _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13789              :                                                     }
   13790              :                                                   else
   13791              :                                                     _r1 = _o1[0];
   13792            0 :                                                   res_op0 = _r1;
   13793              :                                                 }
   13794            0 :                                                 tree _r;
   13795            0 :                                                 _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13796            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13797            0 :                                                 return _r;
   13798              :                                               }
   13799            0 : next_after_fail1979:;
   13800              :                                             }
   13801              :                                       }
   13802              :                                     }
   13803              :                                   else
   13804              :                                     {
   13805            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1980;
   13806            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1980;
   13807            0 :                                       {
   13808            0 :                                         tree res_op0;
   13809            0 :                                         res_op0 = captures[2];
   13810            0 :                                         tree _r;
   13811            0 :                                         _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13812            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13813            0 :                                         return _r;
   13814              :                                       }
   13815            0 : next_after_fail1980:;
   13816              :                                     }
   13817              :                                 }
   13818              :                             }
   13819              :                           }
   13820              :                         break;
   13821              :                       }
   13822              :                     default:;
   13823              :                     }
   13824              :                 }
   13825              :               break;
   13826              :             }
   13827        66507 :           default:;
   13828              :           }
   13829        66507 :         if (zerop (_q21))
   13830              :           {
   13831           84 :             switch (TREE_CODE (_p2))
   13832              :               {
   13833            6 :               case NEGATE_EXPR:
   13834            6 :                 {
   13835            6 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   13836            6 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   13837              :                     {
   13838            6 :                       {
   13839            6 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   13840            6 :                         const enum tree_code cmp = GT_EXPR;
   13841            6 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13842            6 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   13843           12 :  && element_precision (captures[1])
   13844            6 :  <= element_precision (captures[0])
   13845            6 :  && bitwise_equal_p (captures[1], captures[2])
   13846           12 :  && (!VECTOR_TYPE_P (type)
   13847            6 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13848              : )
   13849              :                           {
   13850            6 :                             if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   13851              : )
   13852              :                               {
   13853            0 :                                 {
   13854            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   13855            0 :                                     if (types_match (captures[0], stype)
   13856              : )
   13857              :                                       {
   13858            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1981;
   13859            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1981;
   13860            0 :                                         {
   13861            0 :                                           tree res_op0;
   13862            0 :                                           res_op0 = captures[0];
   13863            0 :                                           tree _r;
   13864            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13865            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   13866            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   13867            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1078, __FILE__, __LINE__, true);
   13868            0 :                                           return _r;
   13869              :                                         }
   13870            0 : next_after_fail1981:;
   13871              :                                       }
   13872              :                                     else
   13873              :                                       {
   13874            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1982;
   13875            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1982;
   13876            0 :                                         {
   13877            0 :                                           tree res_op0;
   13878            0 :                                           {
   13879            0 :                                             tree _o1[1], _r1;
   13880            0 :                                             _o1[0] = captures[2];
   13881            0 :                                             if (TREE_TYPE (_o1[0]) != stype)
   13882              :                                               {
   13883            0 :                                                 _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
   13884              :                                               }
   13885              :                                             else
   13886              :                                               _r1 = _o1[0];
   13887            0 :                                             res_op0 = _r1;
   13888              :                                           }
   13889            0 :                                           tree _r;
   13890            0 :                                           _r = fold_build1_loc (loc, ABSU_EXPR, type, res_op0);
   13891            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1079, __FILE__, __LINE__, true);
   13892            0 :                                           return _r;
   13893              :                                         }
   13894            0 : next_after_fail1982:;
   13895              :                                       }
   13896              :                                 }
   13897              :                               }
   13898              :                             else
   13899              :                               {
   13900            6 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1983;
   13901            6 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1983;
   13902            6 :                                 {
   13903            6 :                                   tree res_op0;
   13904            6 :                                   res_op0 = captures[2];
   13905            6 :                                   tree _r;
   13906            6 :                                   _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13907            6 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1080, __FILE__, __LINE__, true);
   13908            6 :                                   return _r;
   13909              :                                 }
   13910            0 : next_after_fail1983:;
   13911              :                               }
   13912              :                           }
   13913              :                       }
   13914              :                     }
   13915              :                   break;
   13916              :                 }
   13917              :               default:;
   13918              :               }
   13919              :           }
   13920        66501 :         switch (TREE_CODE (_q20))
   13921              :           {
   13922            0 :           case MINUS_EXPR:
   13923            0 :             {
   13924            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13925            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   13926            0 :               if (zerop (_q21))
   13927              :                 {
   13928            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   13929              :                     {
   13930            0 :                       switch (TREE_CODE (_p2))
   13931              :                         {
   13932            0 :                         case MINUS_EXPR:
   13933            0 :                           {
   13934            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   13935            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   13936            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   13937              :                               {
   13938            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   13939              :                                   {
   13940            0 :                                     {
   13941            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   13942            0 :                                       const enum tree_code cmp = GT_EXPR;
   13943            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   13944            0 :  && !TYPE_UNSIGNED (type)
   13945            0 :  && (!VECTOR_TYPE_P (type)
   13946            0 :  || target_supports_op_p (type, ABS_EXPR, optab_vector))
   13947              : )
   13948              :                                         {
   13949            0 :                                           if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1984;
   13950            0 :                                           if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1984;
   13951            0 :                                           if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1984;
   13952            0 :                                           {
   13953            0 :                                             tree res_op0;
   13954            0 :                                             res_op0 = captures[0];
   13955            0 :                                             tree _r;
   13956            0 :                                             _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
   13957            0 :                                             if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
   13958            0 :                                             return _r;
   13959              :                                           }
   13960            0 : next_after_fail1984:;
   13961              :                                         }
   13962              :                                     }
   13963              :                                   }
   13964              :                               }
   13965              :                             break;
   13966              :                           }
   13967              :                         default:;
   13968              :                         }
   13969              :                     }
   13970              :                 }
   13971              :               break;
   13972              :             }
   13973              :           default:;
   13974              :           }
   13975              :         break;
   13976              :       }
   13977         1055 :     case LE_EXPR:
   13978         1055 :       {
   13979         1055 :         tree _q20 = TREE_OPERAND (_p0, 0);
   13980         1055 :         tree _q21 = TREE_OPERAND (_p0, 1);
   13981         1055 :         switch (TREE_CODE (_q20))
   13982              :           {
   13983          128 :           CASE_CONVERT:
   13984          128 :             {
   13985          128 :               tree _q30 = TREE_OPERAND (_q20, 0);
   13986          128 :               if (zerop (_q21))
   13987              :                 {
   13988            0 :                   switch (TREE_CODE (_p2))
   13989              :                     {
   13990            0 :                     case NEGATE_EXPR:
   13991            0 :                       {
   13992            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   13993            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   13994              :                           {
   13995            0 :                             {
   13996            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   13997            0 :                               const enum tree_code cmp = LE_EXPR;
   13998            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   13999            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14000            0 :  && element_precision (captures[1])
   14001            0 :  <= element_precision (captures[0])
   14002            0 :  && bitwise_equal_p (captures[1], captures[2])
   14003            0 :  && (!VECTOR_TYPE_P (type)
   14004            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14005            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14006              : )
   14007              :                                 {
   14008            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14009            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14010            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14011              : )
   14012              :                                     {
   14013            0 :                                       {
   14014            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14015            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14016            0 :                                           if (types_match (captures[0], stype)
   14017              : )
   14018              :                                             {
   14019            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1985;
   14020            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1985;
   14021            0 :                                               {
   14022            0 :                                                 tree res_op0;
   14023            0 :                                                 {
   14024            0 :                                                   tree _o1[1], _r1;
   14025            0 :                                                   {
   14026            0 :                                                     tree _o2[1], _r2;
   14027            0 :                                                     _o2[0] = captures[0];
   14028            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14029            0 :                                                     _o1[0] = _r2;
   14030              :                                                   }
   14031            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14032            0 :                                                   res_op0 = _r1;
   14033              :                                                 }
   14034            0 :                                                 tree _r;
   14035            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14036            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   14037            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14038            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   14039            0 :                                                 return _r;
   14040              :                                               }
   14041            0 : next_after_fail1985:;
   14042              :                                             }
   14043              :                                           else
   14044              :                                             {
   14045            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1986;
   14046            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1986;
   14047            0 :                                               {
   14048            0 :                                                 tree res_op0;
   14049            0 :                                                 {
   14050            0 :                                                   tree _o1[1], _r1;
   14051            0 :                                                   {
   14052            0 :                                                     tree _o2[1], _r2;
   14053            0 :                                                     {
   14054            0 :                                                       tree _o3[1], _r3;
   14055            0 :                                                       _o3[0] = captures[2];
   14056            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   14057              :                                                         {
   14058            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14059              :                                                         }
   14060              :                                                       else
   14061              :                                                         _r3 = _o3[0];
   14062            0 :                                                       _o2[0] = _r3;
   14063              :                                                     }
   14064            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14065            0 :                                                     _o1[0] = _r2;
   14066              :                                                   }
   14067            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14068            0 :                                                   res_op0 = _r1;
   14069              :                                                 }
   14070            0 :                                                 tree _r;
   14071            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14072            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   14073            0 :                                                 return _r;
   14074              :                                               }
   14075            0 : next_after_fail1986:;
   14076              :                                             }
   14077              :                                       }
   14078              :                                     }
   14079              :                                   else
   14080              :                                     {
   14081            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1987;
   14082            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1987;
   14083            0 :                                       {
   14084            0 :                                         tree res_op0;
   14085            0 :                                         {
   14086            0 :                                           tree _o1[1], _r1;
   14087            0 :                                           {
   14088            0 :                                             tree _o2[1], _r2;
   14089            0 :                                             _o2[0] = captures[2];
   14090            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14091            0 :                                             _o1[0] = _r2;
   14092              :                                           }
   14093            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14094            0 :                                           res_op0 = _r1;
   14095              :                                         }
   14096            0 :                                         tree _r;
   14097            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14098            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   14099            0 :                                         return _r;
   14100              :                                       }
   14101            0 : next_after_fail1987:;
   14102              :                                     }
   14103              :                                 }
   14104              :                             }
   14105              :                           }
   14106              :                         break;
   14107              :                       }
   14108              :                     default:;
   14109              :                     }
   14110              :                 }
   14111              :               break;
   14112              :             }
   14113         1055 :           default:;
   14114              :           }
   14115         1055 :         if (zerop (_q21))
   14116              :           {
   14117           18 :             switch (TREE_CODE (_p2))
   14118              :               {
   14119            0 :               case NEGATE_EXPR:
   14120            0 :                 {
   14121            0 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   14122            0 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   14123              :                     {
   14124            0 :                       {
   14125            0 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   14126            0 :                         const enum tree_code cmp = LE_EXPR;
   14127            0 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14128            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14129            0 :  && element_precision (captures[1])
   14130            0 :  <= element_precision (captures[0])
   14131            0 :  && bitwise_equal_p (captures[1], captures[2])
   14132            0 :  && (!VECTOR_TYPE_P (type)
   14133            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14134            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14135              : )
   14136              :                           {
   14137            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14138            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14139            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14140              : )
   14141              :                               {
   14142            0 :                                 {
   14143            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14144            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14145            0 :                                     if (types_match (captures[0], stype)
   14146              : )
   14147              :                                       {
   14148            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1988;
   14149            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1988;
   14150            0 :                                         {
   14151            0 :                                           tree res_op0;
   14152            0 :                                           {
   14153            0 :                                             tree _o1[1], _r1;
   14154            0 :                                             {
   14155            0 :                                               tree _o2[1], _r2;
   14156            0 :                                               _o2[0] = captures[0];
   14157            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14158            0 :                                               _o1[0] = _r2;
   14159              :                                             }
   14160            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14161            0 :                                             res_op0 = _r1;
   14162              :                                           }
   14163            0 :                                           tree _r;
   14164            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14165            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14166            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14167            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   14168            0 :                                           return _r;
   14169              :                                         }
   14170            0 : next_after_fail1988:;
   14171              :                                       }
   14172              :                                     else
   14173              :                                       {
   14174            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1989;
   14175            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1989;
   14176            0 :                                         {
   14177            0 :                                           tree res_op0;
   14178            0 :                                           {
   14179            0 :                                             tree _o1[1], _r1;
   14180            0 :                                             {
   14181            0 :                                               tree _o2[1], _r2;
   14182            0 :                                               {
   14183            0 :                                                 tree _o3[1], _r3;
   14184            0 :                                                 _o3[0] = captures[2];
   14185            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   14186              :                                                   {
   14187            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14188              :                                                   }
   14189              :                                                 else
   14190              :                                                   _r3 = _o3[0];
   14191            0 :                                                 _o2[0] = _r3;
   14192              :                                               }
   14193            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14194            0 :                                               _o1[0] = _r2;
   14195              :                                             }
   14196            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14197            0 :                                             res_op0 = _r1;
   14198              :                                           }
   14199            0 :                                           tree _r;
   14200            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14201            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   14202            0 :                                           return _r;
   14203              :                                         }
   14204            0 : next_after_fail1989:;
   14205              :                                       }
   14206              :                                 }
   14207              :                               }
   14208              :                             else
   14209              :                               {
   14210            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1990;
   14211            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1990;
   14212            0 :                                 {
   14213            0 :                                   tree res_op0;
   14214            0 :                                   {
   14215            0 :                                     tree _o1[1], _r1;
   14216            0 :                                     {
   14217            0 :                                       tree _o2[1], _r2;
   14218            0 :                                       _o2[0] = captures[2];
   14219            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14220            0 :                                       _o1[0] = _r2;
   14221              :                                     }
   14222            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14223            0 :                                     res_op0 = _r1;
   14224              :                                   }
   14225            0 :                                   tree _r;
   14226            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14227            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   14228            0 :                                   return _r;
   14229              :                                 }
   14230            0 : next_after_fail1990:;
   14231              :                               }
   14232              :                           }
   14233              :                       }
   14234              :                     }
   14235              :                   break;
   14236              :                 }
   14237              :               default:;
   14238              :               }
   14239              :           }
   14240         1055 :         switch (TREE_CODE (_q20))
   14241              :           {
   14242            0 :           case MINUS_EXPR:
   14243            0 :             {
   14244            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14245            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14246            0 :               if (zerop (_q21))
   14247              :                 {
   14248            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14249              :                     {
   14250            0 :                       switch (TREE_CODE (_p2))
   14251              :                         {
   14252            0 :                         case MINUS_EXPR:
   14253            0 :                           {
   14254            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   14255            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   14256            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   14257              :                               {
   14258            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   14259              :                                   {
   14260            0 :                                     {
   14261            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   14262            0 :                                       const enum tree_code cmp = LE_EXPR;
   14263            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   14264            0 :  && !TYPE_UNSIGNED (type)
   14265              : )
   14266              :                                         {
   14267            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   14268            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   14269            0 :  && (!VECTOR_TYPE_P (type)
   14270            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14271            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14272              : )
   14273              :                                             {
   14274            0 :                                               {
   14275            0 :  tree utype = unsigned_type_for (type);
   14276            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1991;
   14277            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1991;
   14278            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1991;
   14279            0 :                                                   {
   14280            0 :                                                     tree res_op0;
   14281            0 :                                                     {
   14282            0 :                                                       tree _o1[1], _r1;
   14283            0 :                                                       {
   14284            0 :                                                         tree _o2[1], _r2;
   14285            0 :                                                         _o2[0] = captures[0];
   14286            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14287            0 :                                                         _o1[0] = _r2;
   14288              :                                                       }
   14289            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14290            0 :                                                       res_op0 = _r1;
   14291              :                                                     }
   14292            0 :                                                     tree _r;
   14293            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14294            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   14295            0 :                                                     return _r;
   14296              :                                                   }
   14297            0 : next_after_fail1991:;
   14298              :                                               }
   14299              :                                             }
   14300              :                                           else
   14301              :                                             {
   14302            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1992;
   14303            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1992;
   14304            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1992;
   14305            0 :                                               {
   14306            0 :                                                 tree res_op0;
   14307            0 :                                                 {
   14308            0 :                                                   tree _o1[1], _r1;
   14309            0 :                                                   _o1[0] = captures[0];
   14310            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14311            0 :                                                   res_op0 = _r1;
   14312              :                                                 }
   14313            0 :                                                 tree _r;
   14314            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   14315            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   14316            0 :                                                 return _r;
   14317              :                                               }
   14318            0 : next_after_fail1992:;
   14319              :                                             }
   14320              :                                         }
   14321              :                                     }
   14322              :                                   }
   14323              :                               }
   14324              :                             break;
   14325              :                           }
   14326              :                         default:;
   14327              :                         }
   14328              :                     }
   14329              :                 }
   14330              :               break;
   14331              :             }
   14332              :           default:;
   14333              :           }
   14334              :         break;
   14335              :       }
   14336        20965 :     case LT_EXPR:
   14337        20965 :       {
   14338        20965 :         tree _q20 = TREE_OPERAND (_p0, 0);
   14339        20965 :         tree _q21 = TREE_OPERAND (_p0, 1);
   14340        20965 :         switch (TREE_CODE (_q20))
   14341              :           {
   14342          316 :           CASE_CONVERT:
   14343          316 :             {
   14344          316 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14345          316 :               if (zerop (_q21))
   14346              :                 {
   14347          162 :                   switch (TREE_CODE (_p2))
   14348              :                     {
   14349            0 :                     case NEGATE_EXPR:
   14350            0 :                       {
   14351            0 :                         tree _q70 = TREE_OPERAND (_p2, 0);
   14352            0 :                         if ((_q70 == _p1 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p1, 0) && types_match (_q70, _p1)))
   14353              :                           {
   14354            0 :                             {
   14355            0 :                               tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
   14356            0 :                               const enum tree_code cmp = LT_EXPR;
   14357            0 :                               if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14358            0 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14359            0 :  && element_precision (captures[1])
   14360            0 :  <= element_precision (captures[0])
   14361            0 :  && bitwise_equal_p (captures[1], captures[2])
   14362            0 :  && (!VECTOR_TYPE_P (type)
   14363            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14364            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14365              : )
   14366              :                                 {
   14367            0 :                                   if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14368            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14369            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14370              : )
   14371              :                                     {
   14372            0 :                                       {
   14373            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14374            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14375            0 :                                           if (types_match (captures[0], stype)
   14376              : )
   14377              :                                             {
   14378            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1993;
   14379            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1993;
   14380            0 :                                               {
   14381            0 :                                                 tree res_op0;
   14382            0 :                                                 {
   14383            0 :                                                   tree _o1[1], _r1;
   14384            0 :                                                   {
   14385            0 :                                                     tree _o2[1], _r2;
   14386            0 :                                                     _o2[0] = captures[0];
   14387            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14388            0 :                                                     _o1[0] = _r2;
   14389              :                                                   }
   14390            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14391            0 :                                                   res_op0 = _r1;
   14392              :                                                 }
   14393            0 :                                                 tree _r;
   14394            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14395            0 :                                                 if (TREE_SIDE_EFFECTS (captures[2]))
   14396            0 :                                                   _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14397            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   14398            0 :                                                 return _r;
   14399              :                                               }
   14400            0 : next_after_fail1993:;
   14401              :                                             }
   14402              :                                           else
   14403              :                                             {
   14404            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1994;
   14405            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1994;
   14406            0 :                                               {
   14407            0 :                                                 tree res_op0;
   14408            0 :                                                 {
   14409            0 :                                                   tree _o1[1], _r1;
   14410            0 :                                                   {
   14411            0 :                                                     tree _o2[1], _r2;
   14412            0 :                                                     {
   14413            0 :                                                       tree _o3[1], _r3;
   14414            0 :                                                       _o3[0] = captures[2];
   14415            0 :                                                       if (TREE_TYPE (_o3[0]) != stype)
   14416              :                                                         {
   14417            0 :                                                           _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14418              :                                                         }
   14419              :                                                       else
   14420              :                                                         _r3 = _o3[0];
   14421            0 :                                                       _o2[0] = _r3;
   14422              :                                                     }
   14423            0 :                                                     _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14424            0 :                                                     _o1[0] = _r2;
   14425              :                                                   }
   14426            0 :                                                   _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14427            0 :                                                   res_op0 = _r1;
   14428              :                                                 }
   14429            0 :                                                 tree _r;
   14430            0 :                                                 _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14431            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   14432            0 :                                                 return _r;
   14433              :                                               }
   14434            0 : next_after_fail1994:;
   14435              :                                             }
   14436              :                                       }
   14437              :                                     }
   14438              :                                   else
   14439              :                                     {
   14440            0 :                                       if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1995;
   14441            0 :                                       if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1995;
   14442            0 :                                       {
   14443            0 :                                         tree res_op0;
   14444            0 :                                         {
   14445            0 :                                           tree _o1[1], _r1;
   14446            0 :                                           {
   14447            0 :                                             tree _o2[1], _r2;
   14448            0 :                                             _o2[0] = captures[2];
   14449            0 :                                             _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14450            0 :                                             _o1[0] = _r2;
   14451              :                                           }
   14452            0 :                                           _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14453            0 :                                           res_op0 = _r1;
   14454              :                                         }
   14455            0 :                                         tree _r;
   14456            0 :                                         _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14457            0 :                                         if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   14458            0 :                                         return _r;
   14459              :                                       }
   14460            0 : next_after_fail1995:;
   14461              :                                     }
   14462              :                                 }
   14463              :                             }
   14464              :                           }
   14465              :                         break;
   14466              :                       }
   14467              :                     default:;
   14468              :                     }
   14469              :                 }
   14470              :               break;
   14471              :             }
   14472        20965 :           default:;
   14473              :           }
   14474        20965 :         if (zerop (_q21))
   14475              :           {
   14476          712 :             switch (TREE_CODE (_p2))
   14477              :               {
   14478           16 :               case NEGATE_EXPR:
   14479           16 :                 {
   14480           16 :                   tree _q60 = TREE_OPERAND (_p2, 0);
   14481           16 :                   if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
   14482              :                     {
   14483           16 :                       {
   14484           16 :                         tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _p1 };
   14485           16 :                         const enum tree_code cmp = LT_EXPR;
   14486           16 :                         if (!HONOR_SIGNED_ZEROS (TREE_TYPE (captures[1]))
   14487           16 :  && !TYPE_UNSIGNED (TREE_TYPE (captures[1]))
   14488           32 :  && element_precision (captures[1])
   14489           16 :  <= element_precision (captures[0])
   14490           16 :  && bitwise_equal_p (captures[1], captures[2])
   14491           32 :  && (!VECTOR_TYPE_P (type)
   14492           16 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14493            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14494              : )
   14495              :                           {
   14496            0 :                             if ((ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
   14497            0 :  && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2])))
   14498            0 :  || TYPE_UNSIGNED (TREE_TYPE (captures[2]))
   14499              : )
   14500              :                               {
   14501            0 :                                 {
   14502            0 :  tree stype = signed_type_for (TREE_TYPE (captures[2]));
   14503            0 :  tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
   14504            0 :                                     if (types_match (captures[0], stype)
   14505              : )
   14506              :                                       {
   14507            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1996;
   14508            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1996;
   14509            0 :                                         {
   14510            0 :                                           tree res_op0;
   14511            0 :                                           {
   14512            0 :                                             tree _o1[1], _r1;
   14513            0 :                                             {
   14514            0 :                                               tree _o2[1], _r2;
   14515            0 :                                               _o2[0] = captures[0];
   14516            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14517            0 :                                               _o1[0] = _r2;
   14518              :                                             }
   14519            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14520            0 :                                             res_op0 = _r1;
   14521              :                                           }
   14522            0 :                                           tree _r;
   14523            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14524            0 :                                           if (TREE_SIDE_EFFECTS (captures[2]))
   14525            0 :                                             _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
   14526            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
   14527            0 :                                           return _r;
   14528              :                                         }
   14529           16 : next_after_fail1996:;
   14530              :                                       }
   14531              :                                     else
   14532              :                                       {
   14533            0 :                                         if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1997;
   14534            0 :                                         if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1997;
   14535            0 :                                         {
   14536            0 :                                           tree res_op0;
   14537            0 :                                           {
   14538            0 :                                             tree _o1[1], _r1;
   14539            0 :                                             {
   14540            0 :                                               tree _o2[1], _r2;
   14541            0 :                                               {
   14542            0 :                                                 tree _o3[1], _r3;
   14543            0 :                                                 _o3[0] = captures[2];
   14544            0 :                                                 if (TREE_TYPE (_o3[0]) != stype)
   14545              :                                                   {
   14546            0 :                                                     _r3 = fold_build1_loc (loc, NOP_EXPR, stype, _o3[0]);
   14547              :                                                   }
   14548              :                                                 else
   14549              :                                                   _r3 = _o3[0];
   14550            0 :                                                 _o2[0] = _r3;
   14551              :                                               }
   14552            0 :                                               _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14553            0 :                                               _o1[0] = _r2;
   14554              :                                             }
   14555            0 :                                             _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14556            0 :                                             res_op0 = _r1;
   14557              :                                           }
   14558            0 :                                           tree _r;
   14559            0 :                                           _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14560            0 :                                           if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
   14561            0 :                                           return _r;
   14562              :                                         }
   14563           16 : next_after_fail1997:;
   14564              :                                       }
   14565              :                                 }
   14566              :                               }
   14567              :                             else
   14568              :                               {
   14569            0 :                                 if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1998;
   14570            0 :                                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1998;
   14571            0 :                                 {
   14572            0 :                                   tree res_op0;
   14573            0 :                                   {
   14574            0 :                                     tree _o1[1], _r1;
   14575            0 :                                     {
   14576            0 :                                       tree _o2[1], _r2;
   14577            0 :                                       _o2[0] = captures[2];
   14578            0 :                                       _r2 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
   14579            0 :                                       _o1[0] = _r2;
   14580              :                                     }
   14581            0 :                                     _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14582            0 :                                     res_op0 = _r1;
   14583              :                                   }
   14584            0 :                                   tree _r;
   14585            0 :                                   _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14586            0 :                                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
   14587            0 :                                   return _r;
   14588              :                                 }
   14589           16 : next_after_fail1998:;
   14590              :                               }
   14591              :                           }
   14592              :                       }
   14593              :                     }
   14594              :                   break;
   14595              :                 }
   14596              :               default:;
   14597              :               }
   14598              :           }
   14599        20965 :         switch (TREE_CODE (_q20))
   14600              :           {
   14601            0 :           case MINUS_EXPR:
   14602            0 :             {
   14603            0 :               tree _q30 = TREE_OPERAND (_q20, 0);
   14604            0 :               tree _q31 = TREE_OPERAND (_q20, 1);
   14605            0 :               if (zerop (_q21))
   14606              :                 {
   14607            0 :                   if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
   14608              :                     {
   14609            0 :                       switch (TREE_CODE (_p2))
   14610              :                         {
   14611            0 :                         case MINUS_EXPR:
   14612            0 :                           {
   14613            0 :                             tree _q80 = TREE_OPERAND (_p2, 0);
   14614            0 :                             tree _q81 = TREE_OPERAND (_p2, 1);
   14615            0 :                             if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
   14616              :                               {
   14617            0 :                                 if ((_q81 == _q30 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q30, 0) && types_match (_q81, _q30)))
   14618              :                                   {
   14619            0 :                                     {
   14620            0 :                                       tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
   14621            0 :                                       const enum tree_code cmp = LT_EXPR;
   14622            0 :                                       if (!HONOR_SIGNED_ZEROS (type)
   14623            0 :  && !TYPE_UNSIGNED (type)
   14624              : )
   14625              :                                         {
   14626            0 :                                           if (ANY_INTEGRAL_TYPE_P (type)
   14627            0 :  && !TYPE_OVERFLOW_WRAPS (type)
   14628            0 :  && (!VECTOR_TYPE_P (type)
   14629            0 :  || (target_supports_op_p (type, ABS_EXPR, optab_vector)
   14630            0 :  && target_supports_op_p (type, NEGATE_EXPR, optab_vector)))
   14631              : )
   14632              :                                             {
   14633            0 :                                               {
   14634            0 :  tree utype = unsigned_type_for (type);
   14635            0 :                                                   if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1999;
   14636            0 :                                                   if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1999;
   14637            0 :                                                   if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1999;
   14638            0 :                                                   {
   14639            0 :                                                     tree res_op0;
   14640            0 :                                                     {
   14641            0 :                                                       tree _o1[1], _r1;
   14642            0 :                                                       {
   14643            0 :                                                         tree _o2[1], _r2;
   14644            0 :                                                         _o2[0] = captures[0];
   14645            0 :                                                         _r2 = fold_build1_loc (loc, ABSU_EXPR, utype, _o2[0]);
   14646            0 :                                                         _o1[0] = _r2;
   14647              :                                                       }
   14648            0 :                                                       _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14649            0 :                                                       res_op0 = _r1;
   14650              :                                                     }
   14651            0 :                                                     tree _r;
   14652            0 :                                                     _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
   14653            0 :                                                     if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
   14654            0 :                                                     return _r;
   14655              :                                                   }
   14656            0 : next_after_fail1999:;
   14657              :                                               }
   14658              :                                             }
   14659              :                                           else
   14660              :                                             {
   14661            0 :                                               if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail2000;
   14662            0 :                                               if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail2000;
   14663            0 :                                               if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2000;
   14664            0 :                                               {
   14665            0 :                                                 tree res_op0;
   14666            0 :                                                 {
   14667            0 :                                                   tree _o1[1], _r1;
   14668            0 :                                                   _o1[0] = captures[0];
   14669            0 :                                                   _r1 = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
   14670            0 :                                                   res_op0 = _r1;
   14671              :                                                 }
   14672            0 :                                                 tree _r;
   14673            0 :                                                 _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
   14674            0 :                                                 if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
   14675            0 :                                                 return _r;
   14676              :                                               }
   14677            0 : next_after_fail2000:;
   14678              :                                             }
   14679              :                                         }
   14680              :                                     }
   14681              :                                   }
   14682              :                               }
   14683              :                             break;
   14684              :                           }
   14685              :                         default:;
   14686              :                         }
   14687              :                     }
   14688              :                 }
   14689              :               break;
   14690              :             }
   14691              :           default:;
   14692              :           }
   14693              :         break;
   14694              :       }
   14695       454613 :     default:;
   14696              :     }
   14697       454613 : {
   14698       454613 :   tree _p0_pops[1];
   14699       454613 :   if (tree_logical_inverted_value (_p0, _p0_pops))
   14700              :     {
   14701         1418 :       tree _q20 = _p0_pops[0];
   14702         1418 :       if (tree_truth_valued_p (_q20))
   14703              :         {
   14704            0 :           {
   14705            0 :             tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
   14706            0 :             if (VEC_COND_EXPR == VEC_COND_EXPR
   14707              :  || TYPE_UNSIGNED (TREE_TYPE (captures[0]))
   14708              : )
   14709              :               {
   14710            0 :                 if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2001;
   14711            0 :                 {
   14712            0 :                   tree res_op0;
   14713            0 :                   res_op0 = captures[0];
   14714            0 :                   tree res_op1;
   14715            0 :                   res_op1 = captures[2];
   14716            0 :                   tree res_op2;
   14717            0 :                   res_op2 = captures[1];
   14718            0 :                   tree _r;
   14719            0 :                   _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
   14720            0 :                   if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 1089, __FILE__, __LINE__, true);
   14721            0 :                   return _r;
   14722              :                 }
   14723            0 : next_after_fail2001:;
   14724              :               }
   14725              :           }
   14726              :         }
   14727              :     }
   14728              : }
   14729       454613 :   switch (TREE_CODE (_p1))
   14730              :     {
   14731            0 :     case VIEW_CONVERT_EXPR:
   14732            0 :       {
   14733            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   14734            0 :         switch (TREE_CODE (_q30))
   14735              :           {
   14736            0 :           case CALL_EXPR:
   14737            0 :             switch (get_call_combined_fn (_q30))
   14738              :               {
   14739            0 :               case CFN_COND_ADD:
   14740            0 :                 if (call_expr_nargs (_q30) == 4)
   14741              :     {
   14742            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14743            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14744            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14745            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14746            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14747              :                       {
   14748            0 :                         {
   14749            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14750            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   14751            0 :                           if (res) return res;
   14752              :                         }
   14753              :                       }
   14754              :                   }
   14755              :                 break;
   14756            0 :               case CFN_COND_AND:
   14757            0 :                 if (call_expr_nargs (_q30) == 4)
   14758              :     {
   14759            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14760            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14761            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14762            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14763            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14764              :                       {
   14765            0 :                         {
   14766            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14767            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   14768            0 :                           if (res) return res;
   14769              :                         }
   14770              :                       }
   14771              :                   }
   14772              :                 break;
   14773            0 :               case CFN_COND_DIV:
   14774            0 :                 if (call_expr_nargs (_q30) == 4)
   14775              :     {
   14776            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14777            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14778            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14779            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14780            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14781              :                       {
   14782            0 :                         {
   14783            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14784            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   14785            0 :                           if (res) return res;
   14786              :                         }
   14787              :                       }
   14788              :                   }
   14789              :                 break;
   14790            0 :               case CFN_COND_IOR:
   14791            0 :                 if (call_expr_nargs (_q30) == 4)
   14792              :     {
   14793            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14794            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14795            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14796            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14797            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14798              :                       {
   14799            0 :                         {
   14800            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14801            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   14802            0 :                           if (res) return res;
   14803              :                         }
   14804              :                       }
   14805              :                   }
   14806              :                 break;
   14807            0 :               case CFN_COND_MAX:
   14808            0 :                 if (call_expr_nargs (_q30) == 4)
   14809              :     {
   14810            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14811            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14812            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14813            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14814            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14815              :                       {
   14816            0 :                         {
   14817            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14818            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   14819            0 :                           if (res) return res;
   14820              :                         }
   14821              :                       }
   14822              :                   }
   14823              :                 break;
   14824            0 :               case CFN_COND_MIN:
   14825            0 :                 if (call_expr_nargs (_q30) == 4)
   14826              :     {
   14827            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14828            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14829            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14830            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14831            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14832              :                       {
   14833            0 :                         {
   14834            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14835            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   14836            0 :                           if (res) return res;
   14837              :                         }
   14838              :                       }
   14839              :                   }
   14840              :                 break;
   14841            0 :               case CFN_COND_MOD:
   14842            0 :                 if (call_expr_nargs (_q30) == 4)
   14843              :     {
   14844            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14845            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14846            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14847            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14848            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14849              :                       {
   14850            0 :                         {
   14851            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14852            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   14853            0 :                           if (res) return res;
   14854              :                         }
   14855              :                       }
   14856              :                   }
   14857              :                 break;
   14858            0 :               case CFN_COND_MUL:
   14859            0 :                 if (call_expr_nargs (_q30) == 4)
   14860              :     {
   14861            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14862            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14863            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14864            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14865            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14866              :                       {
   14867            0 :                         {
   14868            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14869            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   14870            0 :                           if (res) return res;
   14871              :                         }
   14872              :                       }
   14873              :                   }
   14874              :                 break;
   14875            0 :               case CFN_COND_SHL:
   14876            0 :                 if (call_expr_nargs (_q30) == 4)
   14877              :     {
   14878            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14879            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14880            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14881            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14882            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14883              :                       {
   14884            0 :                         {
   14885            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14886            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   14887            0 :                           if (res) return res;
   14888              :                         }
   14889              :                       }
   14890              :                   }
   14891              :                 break;
   14892            0 :               case CFN_COND_SHR:
   14893            0 :                 if (call_expr_nargs (_q30) == 4)
   14894              :     {
   14895            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14896            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14897            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14898            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14899            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14900              :                       {
   14901            0 :                         {
   14902            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14903            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   14904            0 :                           if (res) return res;
   14905              :                         }
   14906              :                       }
   14907              :                   }
   14908              :                 break;
   14909            0 :               case CFN_COND_SUB:
   14910            0 :                 if (call_expr_nargs (_q30) == 4)
   14911              :     {
   14912            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14913            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14914            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14915            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14916            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14917              :                       {
   14918            0 :                         {
   14919            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14920            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   14921            0 :                           if (res) return res;
   14922              :                         }
   14923              :                       }
   14924              :                   }
   14925              :                 break;
   14926            0 :               case CFN_COND_XOR:
   14927            0 :                 if (call_expr_nargs (_q30) == 4)
   14928              :     {
   14929            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14930            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14931            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14932            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   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[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14937            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   14938            0 :                           if (res) return res;
   14939              :                         }
   14940              :                       }
   14941              :                   }
   14942              :                 break;
   14943            0 :               case CFN_COND_COPYSIGN:
   14944            0 :                 if (call_expr_nargs (_q30) == 4)
   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 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14951              :                       {
   14952            0 :                         {
   14953            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14954            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   14955            0 :                           if (res) return res;
   14956              :                         }
   14957              :                       }
   14958              :                   }
   14959              :                 break;
   14960            0 :               case CFN_COND_FMAX:
   14961            0 :                 if (call_expr_nargs (_q30) == 4)
   14962              :     {
   14963            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14964            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14965            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14966            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14967            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14968              :                       {
   14969            0 :                         {
   14970            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14971            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   14972            0 :                           if (res) return res;
   14973              :                         }
   14974              :                       }
   14975              :                   }
   14976              :                 break;
   14977            0 :               case CFN_COND_FMIN:
   14978            0 :                 if (call_expr_nargs (_q30) == 4)
   14979              :     {
   14980            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14981            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14982            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   14983            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   14984            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   14985              :                       {
   14986            0 :                         {
   14987            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   14988            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   14989            0 :                           if (res) return res;
   14990              :                         }
   14991              :                       }
   14992              :                   }
   14993              :                 break;
   14994            0 :               case CFN_COND_RDIV:
   14995            0 :                 if (call_expr_nargs (_q30) == 4)
   14996              :     {
   14997            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   14998            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   14999            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15000            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15001            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15002              :                       {
   15003            0 :                         {
   15004            0 :                           tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
   15005            0 :                           tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15006            0 :                           if (res) return res;
   15007              :                         }
   15008              :                       }
   15009              :                   }
   15010              :                 break;
   15011              :               default:;
   15012              :               }
   15013              :             break;
   15014              :           default:;
   15015              :           }
   15016              :         break;
   15017              :       }
   15018           12 :     case CALL_EXPR:
   15019           12 :       switch (get_call_combined_fn (_p1))
   15020              :         {
   15021            0 :         case CFN_COND_ADD:
   15022            0 :           if (call_expr_nargs (_p1) == 4)
   15023              :     {
   15024            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15025            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15026            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15027            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15028            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15029              :                 {
   15030            0 :                   {
   15031            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15032            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15033            0 :                     if (res) return res;
   15034              :                   }
   15035              :                 }
   15036              :             }
   15037              :           break;
   15038            0 :         case CFN_COND_AND:
   15039            0 :           if (call_expr_nargs (_p1) == 4)
   15040              :     {
   15041            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15042            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15043            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15044            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15045            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15046              :                 {
   15047            0 :                   {
   15048            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15049            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15050            0 :                     if (res) return res;
   15051              :                   }
   15052              :                 }
   15053              :             }
   15054              :           break;
   15055            0 :         case CFN_COND_DIV:
   15056            0 :           if (call_expr_nargs (_p1) == 4)
   15057              :     {
   15058            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15059            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15060            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15061            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15062            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15063              :                 {
   15064            0 :                   {
   15065            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15066            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15067            0 :                     if (res) return res;
   15068              :                   }
   15069              :                 }
   15070              :             }
   15071              :           break;
   15072            0 :         case CFN_COND_IOR:
   15073            0 :           if (call_expr_nargs (_p1) == 4)
   15074              :     {
   15075            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15076            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15077            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15078            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15079            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15080              :                 {
   15081            0 :                   {
   15082            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15083            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15084            0 :                     if (res) return res;
   15085              :                   }
   15086              :                 }
   15087              :             }
   15088              :           break;
   15089            0 :         case CFN_COND_MAX:
   15090            0 :           if (call_expr_nargs (_p1) == 4)
   15091              :     {
   15092            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15093            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15094            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15095            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15096            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15097              :                 {
   15098            0 :                   {
   15099            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15100            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15101            0 :                     if (res) return res;
   15102              :                   }
   15103              :                 }
   15104              :             }
   15105              :           break;
   15106            0 :         case CFN_COND_MIN:
   15107            0 :           if (call_expr_nargs (_p1) == 4)
   15108              :     {
   15109            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15110            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15111            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15112            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15113            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15114              :                 {
   15115            0 :                   {
   15116            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15117            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15118            0 :                     if (res) return res;
   15119              :                   }
   15120              :                 }
   15121              :             }
   15122              :           break;
   15123            0 :         case CFN_COND_MOD:
   15124            0 :           if (call_expr_nargs (_p1) == 4)
   15125              :     {
   15126            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15127            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15128            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15129            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15130            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15131              :                 {
   15132            0 :                   {
   15133            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15134            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15135            0 :                     if (res) return res;
   15136              :                   }
   15137              :                 }
   15138              :             }
   15139              :           break;
   15140            0 :         case CFN_COND_MUL:
   15141            0 :           if (call_expr_nargs (_p1) == 4)
   15142              :     {
   15143            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15144            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15145            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15146            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15147            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15148              :                 {
   15149            0 :                   {
   15150            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15151            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15152            0 :                     if (res) return res;
   15153              :                   }
   15154              :                 }
   15155              :             }
   15156              :           break;
   15157            0 :         case CFN_COND_SHL:
   15158            0 :           if (call_expr_nargs (_p1) == 4)
   15159              :     {
   15160            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15161            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15162            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15163            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15164            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15165              :                 {
   15166            0 :                   {
   15167            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15168            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15169            0 :                     if (res) return res;
   15170              :                   }
   15171              :                 }
   15172              :             }
   15173              :           break;
   15174            0 :         case CFN_COND_SHR:
   15175            0 :           if (call_expr_nargs (_p1) == 4)
   15176              :     {
   15177            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15178            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15179            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15180            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15181            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15182              :                 {
   15183            0 :                   {
   15184            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15185            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15186            0 :                     if (res) return res;
   15187              :                   }
   15188              :                 }
   15189              :             }
   15190              :           break;
   15191            0 :         case CFN_COND_SUB:
   15192            0 :           if (call_expr_nargs (_p1) == 4)
   15193              :     {
   15194            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15195            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15196            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15197            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15198            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15199              :                 {
   15200            0 :                   {
   15201            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15202            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15203            0 :                     if (res) return res;
   15204              :                   }
   15205              :                 }
   15206              :             }
   15207              :           break;
   15208            0 :         case CFN_COND_XOR:
   15209            0 :           if (call_expr_nargs (_p1) == 4)
   15210              :     {
   15211            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15212            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15213            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15214            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15215            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15216              :                 {
   15217            0 :                   {
   15218            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15219            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15220            0 :                     if (res) return res;
   15221              :                   }
   15222              :                 }
   15223              :             }
   15224              :           break;
   15225            0 :         case CFN_COND_COPYSIGN:
   15226            0 :           if (call_expr_nargs (_p1) == 4)
   15227              :     {
   15228            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15229            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15230            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15231            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15232            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15233              :                 {
   15234            0 :                   {
   15235            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15236            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15237            0 :                     if (res) return res;
   15238              :                   }
   15239              :                 }
   15240              :             }
   15241              :           break;
   15242            0 :         case CFN_COND_FMAX:
   15243            0 :           if (call_expr_nargs (_p1) == 4)
   15244              :     {
   15245            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15246            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15247            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15248            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15249            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15250              :                 {
   15251            0 :                   {
   15252            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15253            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15254            0 :                     if (res) return res;
   15255              :                   }
   15256              :                 }
   15257              :             }
   15258              :           break;
   15259            0 :         case CFN_COND_FMIN:
   15260            0 :           if (call_expr_nargs (_p1) == 4)
   15261              :     {
   15262            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15263            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15264            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15265            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15266            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15267              :                 {
   15268            0 :                   {
   15269            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15270            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15271            0 :                     if (res) return res;
   15272              :                   }
   15273              :                 }
   15274              :             }
   15275              :           break;
   15276            0 :         case CFN_COND_RDIV:
   15277            0 :           if (call_expr_nargs (_p1) == 4)
   15278              :     {
   15279            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15280            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15281            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15282            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15283            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15284              :                 {
   15285            0 :                   {
   15286            0 :                     tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
   15287            0 :                     tree res = generic_simplify_555 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15288            0 :                     if (res) return res;
   15289              :                   }
   15290              :                 }
   15291              :             }
   15292              :           break;
   15293              :         default:;
   15294              :         }
   15295              :       break;
   15296       454613 :     default:;
   15297              :     }
   15298       454613 :   switch (TREE_CODE (_p2))
   15299              :     {
   15300            0 :     case VIEW_CONVERT_EXPR:
   15301            0 :       {
   15302            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15303            0 :         switch (TREE_CODE (_q40))
   15304              :           {
   15305            0 :           case CALL_EXPR:
   15306            0 :             switch (get_call_combined_fn (_q40))
   15307              :               {
   15308            0 :               case CFN_COND_ADD:
   15309            0 :                 if (call_expr_nargs (_q40) == 4)
   15310              :     {
   15311            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15312            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15313            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15314            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15315            0 :                     {
   15316            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15317            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15318            0 :                       if (res) return res;
   15319              :                     }
   15320              :                   }
   15321              :                 break;
   15322            0 :               case CFN_COND_AND:
   15323            0 :                 if (call_expr_nargs (_q40) == 4)
   15324              :     {
   15325            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15326            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15327            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15328            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15329            0 :                     {
   15330            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15331            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15332            0 :                       if (res) return res;
   15333              :                     }
   15334              :                   }
   15335              :                 break;
   15336            0 :               case CFN_COND_DIV:
   15337            0 :                 if (call_expr_nargs (_q40) == 4)
   15338              :     {
   15339            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15340            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15341            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15342            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15343            0 :                     {
   15344            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15345            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15346            0 :                       if (res) return res;
   15347              :                     }
   15348              :                   }
   15349              :                 break;
   15350            0 :               case CFN_COND_IOR:
   15351            0 :                 if (call_expr_nargs (_q40) == 4)
   15352              :     {
   15353            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15354            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15355            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15356            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15357            0 :                     {
   15358            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15359            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15360            0 :                       if (res) return res;
   15361              :                     }
   15362              :                   }
   15363              :                 break;
   15364            0 :               case CFN_COND_MAX:
   15365            0 :                 if (call_expr_nargs (_q40) == 4)
   15366              :     {
   15367            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15368            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15369            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15370            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15371            0 :                     {
   15372            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15373            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15374            0 :                       if (res) return res;
   15375              :                     }
   15376              :                   }
   15377              :                 break;
   15378            0 :               case CFN_COND_MIN:
   15379            0 :                 if (call_expr_nargs (_q40) == 4)
   15380              :     {
   15381            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15382            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15383            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15384            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15385            0 :                     {
   15386            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15387            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15388            0 :                       if (res) return res;
   15389              :                     }
   15390              :                   }
   15391              :                 break;
   15392            0 :               case CFN_COND_MOD:
   15393            0 :                 if (call_expr_nargs (_q40) == 4)
   15394              :     {
   15395            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15396            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15397            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15398            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15399            0 :                     {
   15400            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15401            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15402            0 :                       if (res) return res;
   15403              :                     }
   15404              :                   }
   15405              :                 break;
   15406            0 :               case CFN_COND_MUL:
   15407            0 :                 if (call_expr_nargs (_q40) == 4)
   15408              :     {
   15409            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15410            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15411            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15412            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15413            0 :                     {
   15414            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15415            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15416            0 :                       if (res) return res;
   15417              :                     }
   15418              :                   }
   15419              :                 break;
   15420            0 :               case CFN_COND_SHL:
   15421            0 :                 if (call_expr_nargs (_q40) == 4)
   15422              :     {
   15423            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15424            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15425            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15426            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15427            0 :                     {
   15428            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15429            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15430            0 :                       if (res) return res;
   15431              :                     }
   15432              :                   }
   15433              :                 break;
   15434            0 :               case CFN_COND_SHR:
   15435            0 :                 if (call_expr_nargs (_q40) == 4)
   15436              :     {
   15437            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15438            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15439            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15440            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15441            0 :                     {
   15442            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15443            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15444            0 :                       if (res) return res;
   15445              :                     }
   15446              :                   }
   15447              :                 break;
   15448            0 :               case CFN_COND_SUB:
   15449            0 :                 if (call_expr_nargs (_q40) == 4)
   15450              :     {
   15451            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15452            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15453            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15454            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15455            0 :                     {
   15456            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15457            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15458            0 :                       if (res) return res;
   15459              :                     }
   15460              :                   }
   15461              :                 break;
   15462            0 :               case CFN_COND_XOR:
   15463            0 :                 if (call_expr_nargs (_q40) == 4)
   15464              :     {
   15465            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15466            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15467            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15468            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15469            0 :                     {
   15470            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15471            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15472            0 :                       if (res) return res;
   15473              :                     }
   15474              :                   }
   15475              :                 break;
   15476            0 :               case CFN_COND_COPYSIGN:
   15477            0 :                 if (call_expr_nargs (_q40) == 4)
   15478              :     {
   15479            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15480            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15481            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15482            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15483            0 :                     {
   15484            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15485            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15486            0 :                       if (res) return res;
   15487              :                     }
   15488              :                   }
   15489              :                 break;
   15490            0 :               case CFN_COND_FMAX:
   15491            0 :                 if (call_expr_nargs (_q40) == 4)
   15492              :     {
   15493            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15494            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15495            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15496            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15497            0 :                     {
   15498            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15499            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15500            0 :                       if (res) return res;
   15501              :                     }
   15502              :                   }
   15503              :                 break;
   15504            0 :               case CFN_COND_FMIN:
   15505            0 :                 if (call_expr_nargs (_q40) == 4)
   15506              :     {
   15507            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15508            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15509            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15510            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15511            0 :                     {
   15512            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15513            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15514            0 :                       if (res) return res;
   15515              :                     }
   15516              :                   }
   15517              :                 break;
   15518            0 :               case CFN_COND_RDIV:
   15519            0 :                 if (call_expr_nargs (_q40) == 4)
   15520              :     {
   15521            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15522            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15523            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15524            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15525            0 :                     {
   15526            0 :                       tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
   15527            0 :                       tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15528            0 :                       if (res) return res;
   15529              :                     }
   15530              :                   }
   15531              :                 break;
   15532              :               default:;
   15533              :               }
   15534              :             break;
   15535              :           default:;
   15536              :           }
   15537              :         break;
   15538              :       }
   15539           12 :     case CALL_EXPR:
   15540           12 :       switch (get_call_combined_fn (_p2))
   15541              :         {
   15542            0 :         case CFN_COND_ADD:
   15543            0 :           if (call_expr_nargs (_p2) == 4)
   15544              :     {
   15545            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15546            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15547            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15548            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15549            0 :               {
   15550            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15551            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   15552            0 :                 if (res) return res;
   15553              :               }
   15554              :             }
   15555              :           break;
   15556            0 :         case CFN_COND_AND:
   15557            0 :           if (call_expr_nargs (_p2) == 4)
   15558              :     {
   15559            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15560            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15561            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15562            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15563            0 :               {
   15564            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15565            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   15566            0 :                 if (res) return res;
   15567              :               }
   15568              :             }
   15569              :           break;
   15570            0 :         case CFN_COND_DIV:
   15571            0 :           if (call_expr_nargs (_p2) == 4)
   15572              :     {
   15573            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15574            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15575            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15576            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15577            0 :               {
   15578            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15579            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   15580            0 :                 if (res) return res;
   15581              :               }
   15582              :             }
   15583              :           break;
   15584            0 :         case CFN_COND_IOR:
   15585            0 :           if (call_expr_nargs (_p2) == 4)
   15586              :     {
   15587            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15588            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15589            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15590            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15591            0 :               {
   15592            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15593            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   15594            0 :                 if (res) return res;
   15595              :               }
   15596              :             }
   15597              :           break;
   15598            0 :         case CFN_COND_MAX:
   15599            0 :           if (call_expr_nargs (_p2) == 4)
   15600              :     {
   15601            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15602            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15603            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15604            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15605            0 :               {
   15606            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15607            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   15608            0 :                 if (res) return res;
   15609              :               }
   15610              :             }
   15611              :           break;
   15612            0 :         case CFN_COND_MIN:
   15613            0 :           if (call_expr_nargs (_p2) == 4)
   15614              :     {
   15615            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15616            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15617            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15618            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15619            0 :               {
   15620            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15621            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   15622            0 :                 if (res) return res;
   15623              :               }
   15624              :             }
   15625              :           break;
   15626            0 :         case CFN_COND_MOD:
   15627            0 :           if (call_expr_nargs (_p2) == 4)
   15628              :     {
   15629            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15630            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15631            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15632            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15633            0 :               {
   15634            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15635            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   15636            0 :                 if (res) return res;
   15637              :               }
   15638              :             }
   15639              :           break;
   15640            0 :         case CFN_COND_MUL:
   15641            0 :           if (call_expr_nargs (_p2) == 4)
   15642              :     {
   15643            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15644            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15645            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15646            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15647            0 :               {
   15648            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15649            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   15650            0 :                 if (res) return res;
   15651              :               }
   15652              :             }
   15653              :           break;
   15654            0 :         case CFN_COND_SHL:
   15655            0 :           if (call_expr_nargs (_p2) == 4)
   15656              :     {
   15657            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15658            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15659            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15660            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15661            0 :               {
   15662            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15663            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   15664            0 :                 if (res) return res;
   15665              :               }
   15666              :             }
   15667              :           break;
   15668            0 :         case CFN_COND_SHR:
   15669            0 :           if (call_expr_nargs (_p2) == 4)
   15670              :     {
   15671            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15672            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15673            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15674            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15675            0 :               {
   15676            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15677            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   15678            0 :                 if (res) return res;
   15679              :               }
   15680              :             }
   15681              :           break;
   15682            0 :         case CFN_COND_SUB:
   15683            0 :           if (call_expr_nargs (_p2) == 4)
   15684              :     {
   15685            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15686            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15687            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15688            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15689            0 :               {
   15690            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15691            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   15692            0 :                 if (res) return res;
   15693              :               }
   15694              :             }
   15695              :           break;
   15696            0 :         case CFN_COND_XOR:
   15697            0 :           if (call_expr_nargs (_p2) == 4)
   15698              :     {
   15699            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15700            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15701            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15702            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15703            0 :               {
   15704            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15705            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   15706            0 :                 if (res) return res;
   15707              :               }
   15708              :             }
   15709              :           break;
   15710            0 :         case CFN_COND_COPYSIGN:
   15711            0 :           if (call_expr_nargs (_p2) == 4)
   15712              :     {
   15713            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15714            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15715            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15716            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15717            0 :               {
   15718            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15719            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   15720            0 :                 if (res) return res;
   15721              :               }
   15722              :             }
   15723              :           break;
   15724            0 :         case CFN_COND_FMAX:
   15725            0 :           if (call_expr_nargs (_p2) == 4)
   15726              :     {
   15727            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15728            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15729            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15730            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15731            0 :               {
   15732            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15733            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   15734            0 :                 if (res) return res;
   15735              :               }
   15736              :             }
   15737              :           break;
   15738            0 :         case CFN_COND_FMIN:
   15739            0 :           if (call_expr_nargs (_p2) == 4)
   15740              :     {
   15741            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15742            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15743            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15744            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15745            0 :               {
   15746            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15747            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   15748            0 :                 if (res) return res;
   15749              :               }
   15750              :             }
   15751              :           break;
   15752            0 :         case CFN_COND_RDIV:
   15753            0 :           if (call_expr_nargs (_p2) == 4)
   15754              :     {
   15755            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   15756            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   15757            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   15758            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   15759            0 :               {
   15760            0 :                 tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
   15761            0 :                 tree res = generic_simplify_556 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   15762            0 :                 if (res) return res;
   15763              :               }
   15764              :             }
   15765              :           break;
   15766              :         default:;
   15767              :         }
   15768              :       break;
   15769       454613 :     default:;
   15770              :     }
   15771       454613 :   switch (TREE_CODE (_p1))
   15772              :     {
   15773            0 :     case VIEW_CONVERT_EXPR:
   15774            0 :       {
   15775            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   15776            0 :         switch (TREE_CODE (_q30))
   15777              :           {
   15778            0 :           case CALL_EXPR:
   15779            0 :             switch (get_call_combined_fn (_q30))
   15780              :               {
   15781            0 :               case CFN_COND_FMA:
   15782            0 :                 if (call_expr_nargs (_q30) == 5)
   15783              :     {
   15784            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15785            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15786            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15787            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15788            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15789            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15790              :                       {
   15791            0 :                         {
   15792            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15793            0 :                           tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15794            0 :                           if (res) return res;
   15795              :                         }
   15796              :                       }
   15797              :                   }
   15798              :                 break;
   15799            0 :               case CFN_COND_FMS:
   15800            0 :                 if (call_expr_nargs (_q30) == 5)
   15801              :     {
   15802            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15803            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15804            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15805            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15806            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15807            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15808              :                       {
   15809            0 :                         {
   15810            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15811            0 :                           tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15812            0 :                           if (res) return res;
   15813              :                         }
   15814              :                       }
   15815              :                   }
   15816              :                 break;
   15817            0 :               case CFN_COND_FNMA:
   15818            0 :                 if (call_expr_nargs (_q30) == 5)
   15819              :     {
   15820            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15821            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15822            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15823            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15824            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15825            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15826              :                       {
   15827            0 :                         {
   15828            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15829            0 :                           tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15830            0 :                           if (res) return res;
   15831              :                         }
   15832              :                       }
   15833              :                   }
   15834              :                 break;
   15835            0 :               case CFN_COND_FNMS:
   15836            0 :                 if (call_expr_nargs (_q30) == 5)
   15837              :     {
   15838            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   15839            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   15840            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   15841            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   15842            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   15843            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   15844              :                       {
   15845            0 :                         {
   15846            0 :                           tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
   15847            0 :                           tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15848            0 :                           if (res) return res;
   15849              :                         }
   15850              :                       }
   15851              :                   }
   15852              :                 break;
   15853              :               default:;
   15854              :               }
   15855              :             break;
   15856              :           default:;
   15857              :           }
   15858              :         break;
   15859              :       }
   15860           12 :     case CALL_EXPR:
   15861           12 :       switch (get_call_combined_fn (_p1))
   15862              :         {
   15863            0 :         case CFN_COND_FMA:
   15864            0 :           if (call_expr_nargs (_p1) == 5)
   15865              :     {
   15866            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15867            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15868            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15869            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15870            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15871            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15872              :                 {
   15873            0 :                   {
   15874            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15875            0 :                     tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15876            0 :                     if (res) return res;
   15877              :                   }
   15878              :                 }
   15879              :             }
   15880              :           break;
   15881            0 :         case CFN_COND_FMS:
   15882            0 :           if (call_expr_nargs (_p1) == 5)
   15883              :     {
   15884            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15885            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15886            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15887            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15888            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15889            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15890              :                 {
   15891            0 :                   {
   15892            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15893            0 :                     tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15894            0 :                     if (res) return res;
   15895              :                   }
   15896              :                 }
   15897              :             }
   15898              :           break;
   15899            0 :         case CFN_COND_FNMA:
   15900            0 :           if (call_expr_nargs (_p1) == 5)
   15901              :     {
   15902            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15903            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15904            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15905            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15906            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15907            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15908              :                 {
   15909            0 :                   {
   15910            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15911            0 :                     tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15912            0 :                     if (res) return res;
   15913              :                   }
   15914              :                 }
   15915              :             }
   15916              :           break;
   15917            0 :         case CFN_COND_FNMS:
   15918            0 :           if (call_expr_nargs (_p1) == 5)
   15919              :     {
   15920            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   15921            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   15922            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   15923            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   15924            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   15925            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   15926              :                 {
   15927            0 :                   {
   15928            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
   15929            0 :                     tree res = generic_simplify_557 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   15930            0 :                     if (res) return res;
   15931              :                   }
   15932              :                 }
   15933              :             }
   15934              :           break;
   15935              :         default:;
   15936              :         }
   15937              :       break;
   15938       454613 :     default:;
   15939              :     }
   15940       454613 :   switch (TREE_CODE (_p2))
   15941              :     {
   15942            0 :     case VIEW_CONVERT_EXPR:
   15943            0 :       {
   15944            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   15945            0 :         switch (TREE_CODE (_q40))
   15946              :           {
   15947            0 :           case CALL_EXPR:
   15948            0 :             switch (get_call_combined_fn (_q40))
   15949              :               {
   15950            0 :               case CFN_COND_FMA:
   15951            0 :                 if (call_expr_nargs (_q40) == 5)
   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 :                     {
   15959            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15960            0 :                       tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   15961            0 :                       if (res) return res;
   15962              :                     }
   15963              :                   }
   15964              :                 break;
   15965            0 :               case CFN_COND_FMS:
   15966            0 :                 if (call_expr_nargs (_q40) == 5)
   15967              :     {
   15968            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15969            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15970            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15971            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15972            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15973            0 :                     {
   15974            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15975            0 :                       tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   15976            0 :                       if (res) return res;
   15977              :                     }
   15978              :                   }
   15979              :                 break;
   15980            0 :               case CFN_COND_FNMA:
   15981            0 :                 if (call_expr_nargs (_q40) == 5)
   15982              :     {
   15983            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15984            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   15985            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   15986            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   15987            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   15988            0 :                     {
   15989            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   15990            0 :                       tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   15991            0 :                       if (res) return res;
   15992              :                     }
   15993              :                   }
   15994              :                 break;
   15995            0 :               case CFN_COND_FNMS:
   15996            0 :                 if (call_expr_nargs (_q40) == 5)
   15997              :     {
   15998            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   15999            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16000            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16001            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16002            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16003            0 :                     {
   16004            0 :                       tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
   16005            0 :                       tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16006            0 :                       if (res) return res;
   16007              :                     }
   16008              :                   }
   16009              :                 break;
   16010              :               default:;
   16011              :               }
   16012              :             break;
   16013              :           default:;
   16014              :           }
   16015              :         break;
   16016              :       }
   16017           12 :     case CALL_EXPR:
   16018           12 :       switch (get_call_combined_fn (_p2))
   16019              :         {
   16020            0 :         case CFN_COND_FMA:
   16021            0 :           if (call_expr_nargs (_p2) == 5)
   16022              :     {
   16023            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16024            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16025            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16026            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16027            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16028            0 :               {
   16029            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16030            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   16031            0 :                 if (res) return res;
   16032              :               }
   16033              :             }
   16034              :           break;
   16035            0 :         case CFN_COND_FMS:
   16036            0 :           if (call_expr_nargs (_p2) == 5)
   16037              :     {
   16038            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16039            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16040            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16041            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16042            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16043            0 :               {
   16044            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16045            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   16046            0 :                 if (res) return res;
   16047              :               }
   16048              :             }
   16049              :           break;
   16050            0 :         case CFN_COND_FNMA:
   16051            0 :           if (call_expr_nargs (_p2) == 5)
   16052              :     {
   16053            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16054            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16055            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16056            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16057            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16058            0 :               {
   16059            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16060            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   16061            0 :                 if (res) return res;
   16062              :               }
   16063              :             }
   16064              :           break;
   16065            0 :         case CFN_COND_FNMS:
   16066            0 :           if (call_expr_nargs (_p2) == 5)
   16067              :     {
   16068            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16069            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16070            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   16071            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   16072            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   16073            0 :               {
   16074            0 :                 tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
   16075            0 :                 tree res = generic_simplify_558 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   16076            0 :                 if (res) return res;
   16077              :               }
   16078              :             }
   16079              :           break;
   16080              :         default:;
   16081              :         }
   16082              :       break;
   16083       454613 :     default:;
   16084              :     }
   16085       454613 :   switch (TREE_CODE (_p1))
   16086              :     {
   16087            0 :     case VIEW_CONVERT_EXPR:
   16088            0 :       {
   16089            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   16090            0 :         switch (TREE_CODE (_q30))
   16091              :           {
   16092            0 :           case CALL_EXPR:
   16093            0 :             switch (get_call_combined_fn (_q30))
   16094              :               {
   16095            0 :               case CFN_COND_LEN_ADD:
   16096            0 :                 if (call_expr_nargs (_q30) == 6)
   16097              :     {
   16098            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16099            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16100            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16101            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16102            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16103            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16104            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16105              :                       {
   16106            0 :                         {
   16107            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16108            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16109            0 :                           if (res) return res;
   16110              :                         }
   16111              :                       }
   16112              :                   }
   16113              :                 break;
   16114            0 :               case CFN_COND_LEN_AND:
   16115            0 :                 if (call_expr_nargs (_q30) == 6)
   16116              :     {
   16117            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16118            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16119            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16120            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16121            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16122            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16123            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16124              :                       {
   16125            0 :                         {
   16126            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16127            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16128            0 :                           if (res) return res;
   16129              :                         }
   16130              :                       }
   16131              :                   }
   16132              :                 break;
   16133            0 :               case CFN_COND_LEN_DIV:
   16134            0 :                 if (call_expr_nargs (_q30) == 6)
   16135              :     {
   16136            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16137            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16138            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16139            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16140            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16141            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16142            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16143              :                       {
   16144            0 :                         {
   16145            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16146            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16147            0 :                           if (res) return res;
   16148              :                         }
   16149              :                       }
   16150              :                   }
   16151              :                 break;
   16152            0 :               case CFN_COND_LEN_IOR:
   16153            0 :                 if (call_expr_nargs (_q30) == 6)
   16154              :     {
   16155            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16156            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16157            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16158            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16159            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16160            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16161            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16162              :                       {
   16163            0 :                         {
   16164            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16165            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16166            0 :                           if (res) return res;
   16167              :                         }
   16168              :                       }
   16169              :                   }
   16170              :                 break;
   16171            0 :               case CFN_COND_LEN_MAX:
   16172            0 :                 if (call_expr_nargs (_q30) == 6)
   16173              :     {
   16174            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16175            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16176            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16177            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16178            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16179            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16180            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16181              :                       {
   16182            0 :                         {
   16183            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16184            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16185            0 :                           if (res) return res;
   16186              :                         }
   16187              :                       }
   16188              :                   }
   16189              :                 break;
   16190            0 :               case CFN_COND_LEN_MIN:
   16191            0 :                 if (call_expr_nargs (_q30) == 6)
   16192              :     {
   16193            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16194            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16195            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16196            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16197            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16198            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16199            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16200              :                       {
   16201            0 :                         {
   16202            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16203            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16204            0 :                           if (res) return res;
   16205              :                         }
   16206              :                       }
   16207              :                   }
   16208              :                 break;
   16209            0 :               case CFN_COND_LEN_MOD:
   16210            0 :                 if (call_expr_nargs (_q30) == 6)
   16211              :     {
   16212            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16213            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16214            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16215            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16216            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16217            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16218            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16219              :                       {
   16220            0 :                         {
   16221            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16222            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16223            0 :                           if (res) return res;
   16224              :                         }
   16225              :                       }
   16226              :                   }
   16227              :                 break;
   16228            0 :               case CFN_COND_LEN_MUL:
   16229            0 :                 if (call_expr_nargs (_q30) == 6)
   16230              :     {
   16231            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16232            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16233            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16234            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16235            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16236            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16237            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16238              :                       {
   16239            0 :                         {
   16240            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16241            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16242            0 :                           if (res) return res;
   16243              :                         }
   16244              :                       }
   16245              :                   }
   16246              :                 break;
   16247            0 :               case CFN_COND_LEN_SHL:
   16248            0 :                 if (call_expr_nargs (_q30) == 6)
   16249              :     {
   16250            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16251            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16252            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16253            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16254            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16255            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16256            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16257              :                       {
   16258            0 :                         {
   16259            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16260            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16261            0 :                           if (res) return res;
   16262              :                         }
   16263              :                       }
   16264              :                   }
   16265              :                 break;
   16266            0 :               case CFN_COND_LEN_SHR:
   16267            0 :                 if (call_expr_nargs (_q30) == 6)
   16268              :     {
   16269            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16270            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16271            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16272            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16273            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16274            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16275            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16276              :                       {
   16277            0 :                         {
   16278            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16279            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16280            0 :                           if (res) return res;
   16281              :                         }
   16282              :                       }
   16283              :                   }
   16284              :                 break;
   16285            0 :               case CFN_COND_LEN_SUB:
   16286            0 :                 if (call_expr_nargs (_q30) == 6)
   16287              :     {
   16288            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16289            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16290            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16291            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16292            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16293            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16294            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16295              :                       {
   16296            0 :                         {
   16297            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16298            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16299            0 :                           if (res) return res;
   16300              :                         }
   16301              :                       }
   16302              :                   }
   16303              :                 break;
   16304            0 :               case CFN_COND_LEN_XOR:
   16305            0 :                 if (call_expr_nargs (_q30) == 6)
   16306              :     {
   16307            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16308            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16309            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16310            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16311            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16312            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16313            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16314              :                       {
   16315            0 :                         {
   16316            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16317            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16318            0 :                           if (res) return res;
   16319              :                         }
   16320              :                       }
   16321              :                   }
   16322              :                 break;
   16323            0 :               case CFN_COND_LEN_FMAX:
   16324            0 :                 if (call_expr_nargs (_q30) == 6)
   16325              :     {
   16326            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16327            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16328            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16329            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16330            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16331            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16332            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16333              :                       {
   16334            0 :                         {
   16335            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16336            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16337            0 :                           if (res) return res;
   16338              :                         }
   16339              :                       }
   16340              :                   }
   16341              :                 break;
   16342            0 :               case CFN_COND_LEN_FMIN:
   16343            0 :                 if (call_expr_nargs (_q30) == 6)
   16344              :     {
   16345            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16346            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16347            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16348            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16349            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16350            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16351            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16352              :                       {
   16353            0 :                         {
   16354            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16355            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16356            0 :                           if (res) return res;
   16357              :                         }
   16358              :                       }
   16359              :                   }
   16360              :                 break;
   16361            0 :               case CFN_COND_LEN_RDIV:
   16362            0 :                 if (call_expr_nargs (_q30) == 6)
   16363              :     {
   16364            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16365            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16366            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16367            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16368            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16369            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16370            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16371              :                       {
   16372            0 :                         {
   16373            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16374            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16375            0 :                           if (res) return res;
   16376              :                         }
   16377              :                       }
   16378              :                   }
   16379              :                 break;
   16380            0 :               case CFN_COND_LEN_COPYSIGN:
   16381            0 :                 if (call_expr_nargs (_q30) == 6)
   16382              :     {
   16383            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   16384            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   16385            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   16386            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   16387            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   16388            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   16389            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   16390              :                       {
   16391            0 :                         {
   16392            0 :                           tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _p2 };
   16393            0 :                           tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16394            0 :                           if (res) return res;
   16395              :                         }
   16396              :                       }
   16397              :                   }
   16398              :                 break;
   16399              :               default:;
   16400              :               }
   16401              :             break;
   16402              :           default:;
   16403              :           }
   16404              :         break;
   16405              :       }
   16406           12 :     case CALL_EXPR:
   16407           12 :       switch (get_call_combined_fn (_p1))
   16408              :         {
   16409            0 :         case CFN_COND_LEN_ADD:
   16410            0 :           if (call_expr_nargs (_p1) == 6)
   16411              :     {
   16412            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16413            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16414            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16415            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16416            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16417            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16418            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16419              :                 {
   16420            0 :                   {
   16421            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16422            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16423            0 :                     if (res) return res;
   16424              :                   }
   16425              :                 }
   16426              :             }
   16427              :           break;
   16428            0 :         case CFN_COND_LEN_AND:
   16429            0 :           if (call_expr_nargs (_p1) == 6)
   16430              :     {
   16431            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16432            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16433            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16434            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16435            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16436            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16437            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16438              :                 {
   16439            0 :                   {
   16440            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16441            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16442            0 :                     if (res) return res;
   16443              :                   }
   16444              :                 }
   16445              :             }
   16446              :           break;
   16447            0 :         case CFN_COND_LEN_DIV:
   16448            0 :           if (call_expr_nargs (_p1) == 6)
   16449              :     {
   16450            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16451            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16452            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16453            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16454            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16455            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16456            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16457              :                 {
   16458            0 :                   {
   16459            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16460            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16461            0 :                     if (res) return res;
   16462              :                   }
   16463              :                 }
   16464              :             }
   16465              :           break;
   16466            0 :         case CFN_COND_LEN_IOR:
   16467            0 :           if (call_expr_nargs (_p1) == 6)
   16468              :     {
   16469            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16470            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16471            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16472            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16473            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16474            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16475            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16476              :                 {
   16477            0 :                   {
   16478            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16479            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16480            0 :                     if (res) return res;
   16481              :                   }
   16482              :                 }
   16483              :             }
   16484              :           break;
   16485            0 :         case CFN_COND_LEN_MAX:
   16486            0 :           if (call_expr_nargs (_p1) == 6)
   16487              :     {
   16488            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16489            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16490            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16491            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16492            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16493            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16494            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16495              :                 {
   16496            0 :                   {
   16497            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16498            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16499            0 :                     if (res) return res;
   16500              :                   }
   16501              :                 }
   16502              :             }
   16503              :           break;
   16504            0 :         case CFN_COND_LEN_MIN:
   16505            0 :           if (call_expr_nargs (_p1) == 6)
   16506              :     {
   16507            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16508            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16509            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16510            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16511            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16512            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16513            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16514              :                 {
   16515            0 :                   {
   16516            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16517            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16518            0 :                     if (res) return res;
   16519              :                   }
   16520              :                 }
   16521              :             }
   16522              :           break;
   16523            0 :         case CFN_COND_LEN_MOD:
   16524            0 :           if (call_expr_nargs (_p1) == 6)
   16525              :     {
   16526            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16527            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16528            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16529            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16530            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16531            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16532            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16533              :                 {
   16534            0 :                   {
   16535            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16536            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16537            0 :                     if (res) return res;
   16538              :                   }
   16539              :                 }
   16540              :             }
   16541              :           break;
   16542            0 :         case CFN_COND_LEN_MUL:
   16543            0 :           if (call_expr_nargs (_p1) == 6)
   16544              :     {
   16545            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16546            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16547            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16548            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16549            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16550            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   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[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16555            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16556            0 :                     if (res) return res;
   16557              :                   }
   16558              :                 }
   16559              :             }
   16560              :           break;
   16561            0 :         case CFN_COND_LEN_SHL:
   16562            0 :           if (call_expr_nargs (_p1) == 6)
   16563              :     {
   16564            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16565            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16566            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16567            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16568            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16569            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16570            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16571              :                 {
   16572            0 :                   {
   16573            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16574            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16575            0 :                     if (res) return res;
   16576              :                   }
   16577              :                 }
   16578              :             }
   16579              :           break;
   16580            0 :         case CFN_COND_LEN_SHR:
   16581            0 :           if (call_expr_nargs (_p1) == 6)
   16582              :     {
   16583            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16584            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16585            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16586            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16587            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16588            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16589            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16590              :                 {
   16591            0 :                   {
   16592            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16593            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16594            0 :                     if (res) return res;
   16595              :                   }
   16596              :                 }
   16597              :             }
   16598              :           break;
   16599            0 :         case CFN_COND_LEN_SUB:
   16600            0 :           if (call_expr_nargs (_p1) == 6)
   16601              :     {
   16602            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16603            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16604            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16605            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16606            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16607            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16608            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16609              :                 {
   16610            0 :                   {
   16611            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16612            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16613            0 :                     if (res) return res;
   16614              :                   }
   16615              :                 }
   16616              :             }
   16617              :           break;
   16618            0 :         case CFN_COND_LEN_XOR:
   16619            0 :           if (call_expr_nargs (_p1) == 6)
   16620              :     {
   16621            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16622            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16623            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16624            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16625            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16626            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16627            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16628              :                 {
   16629            0 :                   {
   16630            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16631            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16632            0 :                     if (res) return res;
   16633              :                   }
   16634              :                 }
   16635              :             }
   16636              :           break;
   16637            0 :         case CFN_COND_LEN_FMAX:
   16638            0 :           if (call_expr_nargs (_p1) == 6)
   16639              :     {
   16640            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16641            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16642            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16643            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16644            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16645            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16646            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16647              :                 {
   16648            0 :                   {
   16649            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16650            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16651            0 :                     if (res) return res;
   16652              :                   }
   16653              :                 }
   16654              :             }
   16655              :           break;
   16656            0 :         case CFN_COND_LEN_FMIN:
   16657            0 :           if (call_expr_nargs (_p1) == 6)
   16658              :     {
   16659            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16660            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16661            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16662            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16663            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16664            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16665            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16666              :                 {
   16667            0 :                   {
   16668            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16669            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16670            0 :                     if (res) return res;
   16671              :                   }
   16672              :                 }
   16673              :             }
   16674              :           break;
   16675            0 :         case CFN_COND_LEN_RDIV:
   16676            0 :           if (call_expr_nargs (_p1) == 6)
   16677              :     {
   16678            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16679            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16680            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16681            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16682            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16683            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16684            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16685              :                 {
   16686            0 :                   {
   16687            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16688            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16689            0 :                     if (res) return res;
   16690              :                   }
   16691              :                 }
   16692              :             }
   16693              :           break;
   16694            0 :         case CFN_COND_LEN_COPYSIGN:
   16695            0 :           if (call_expr_nargs (_p1) == 6)
   16696              :     {
   16697            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   16698            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   16699            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   16700            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   16701            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   16702            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   16703            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   16704              :                 {
   16705            0 :                   {
   16706            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _p2 };
   16707            0 :                     tree res = generic_simplify_559 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16708            0 :                     if (res) return res;
   16709              :                   }
   16710              :                 }
   16711              :             }
   16712              :           break;
   16713              :         default:;
   16714              :         }
   16715              :       break;
   16716       454613 :     default:;
   16717              :     }
   16718       454613 :   switch (TREE_CODE (_p2))
   16719              :     {
   16720            0 :     case VIEW_CONVERT_EXPR:
   16721            0 :       {
   16722            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   16723            0 :         switch (TREE_CODE (_q40))
   16724              :           {
   16725            0 :           case CALL_EXPR:
   16726            0 :             switch (get_call_combined_fn (_q40))
   16727              :               {
   16728            0 :               case CFN_COND_LEN_ADD:
   16729            0 :                 if (call_expr_nargs (_q40) == 6)
   16730              :     {
   16731            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16732            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16733            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16734            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16735            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16736            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16737            0 :                     {
   16738            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16739            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   16740            0 :                       if (res) return res;
   16741              :                     }
   16742              :                   }
   16743              :                 break;
   16744            0 :               case CFN_COND_LEN_AND:
   16745            0 :                 if (call_expr_nargs (_q40) == 6)
   16746              :     {
   16747            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16748            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16749            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16750            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16751            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16752            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16753            0 :                     {
   16754            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16755            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   16756            0 :                       if (res) return res;
   16757              :                     }
   16758              :                   }
   16759              :                 break;
   16760            0 :               case CFN_COND_LEN_DIV:
   16761            0 :                 if (call_expr_nargs (_q40) == 6)
   16762              :     {
   16763            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16764            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16765            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16766            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16767            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16768            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16769            0 :                     {
   16770            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16771            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   16772            0 :                       if (res) return res;
   16773              :                     }
   16774              :                   }
   16775              :                 break;
   16776            0 :               case CFN_COND_LEN_IOR:
   16777            0 :                 if (call_expr_nargs (_q40) == 6)
   16778              :     {
   16779            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16780            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16781            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16782            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16783            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16784            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16785            0 :                     {
   16786            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16787            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   16788            0 :                       if (res) return res;
   16789              :                     }
   16790              :                   }
   16791              :                 break;
   16792            0 :               case CFN_COND_LEN_MAX:
   16793            0 :                 if (call_expr_nargs (_q40) == 6)
   16794              :     {
   16795            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16796            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16797            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16798            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16799            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16800            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16801            0 :                     {
   16802            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16803            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   16804            0 :                       if (res) return res;
   16805              :                     }
   16806              :                   }
   16807              :                 break;
   16808            0 :               case CFN_COND_LEN_MIN:
   16809            0 :                 if (call_expr_nargs (_q40) == 6)
   16810              :     {
   16811            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16812            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16813            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16814            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16815            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16816            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16817            0 :                     {
   16818            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16819            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   16820            0 :                       if (res) return res;
   16821              :                     }
   16822              :                   }
   16823              :                 break;
   16824            0 :               case CFN_COND_LEN_MOD:
   16825            0 :                 if (call_expr_nargs (_q40) == 6)
   16826              :     {
   16827            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16828            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16829            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16830            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16831            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16832            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16833            0 :                     {
   16834            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16835            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   16836            0 :                       if (res) return res;
   16837              :                     }
   16838              :                   }
   16839              :                 break;
   16840            0 :               case CFN_COND_LEN_MUL:
   16841            0 :                 if (call_expr_nargs (_q40) == 6)
   16842              :     {
   16843            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16844            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16845            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16846            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16847            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16848            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16849            0 :                     {
   16850            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16851            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   16852            0 :                       if (res) return res;
   16853              :                     }
   16854              :                   }
   16855              :                 break;
   16856            0 :               case CFN_COND_LEN_SHL:
   16857            0 :                 if (call_expr_nargs (_q40) == 6)
   16858              :     {
   16859            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16860            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16861            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16862            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16863            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16864            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16865            0 :                     {
   16866            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16867            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   16868            0 :                       if (res) return res;
   16869              :                     }
   16870              :                   }
   16871              :                 break;
   16872            0 :               case CFN_COND_LEN_SHR:
   16873            0 :                 if (call_expr_nargs (_q40) == 6)
   16874              :     {
   16875            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16876            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16877            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16878            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16879            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16880            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16881            0 :                     {
   16882            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16883            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   16884            0 :                       if (res) return res;
   16885              :                     }
   16886              :                   }
   16887              :                 break;
   16888            0 :               case CFN_COND_LEN_SUB:
   16889            0 :                 if (call_expr_nargs (_q40) == 6)
   16890              :     {
   16891            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16892            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16893            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16894            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16895            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16896            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16897            0 :                     {
   16898            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16899            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   16900            0 :                       if (res) return res;
   16901              :                     }
   16902              :                   }
   16903              :                 break;
   16904            0 :               case CFN_COND_LEN_XOR:
   16905            0 :                 if (call_expr_nargs (_q40) == 6)
   16906              :     {
   16907            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16908            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16909            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16910            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16911            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16912            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16913            0 :                     {
   16914            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16915            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   16916            0 :                       if (res) return res;
   16917              :                     }
   16918              :                   }
   16919              :                 break;
   16920            0 :               case CFN_COND_LEN_FMAX:
   16921            0 :                 if (call_expr_nargs (_q40) == 6)
   16922              :     {
   16923            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16924            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16925            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16926            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16927            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16928            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16929            0 :                     {
   16930            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16931            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   16932            0 :                       if (res) return res;
   16933              :                     }
   16934              :                   }
   16935              :                 break;
   16936            0 :               case CFN_COND_LEN_FMIN:
   16937            0 :                 if (call_expr_nargs (_q40) == 6)
   16938              :     {
   16939            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16940            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16941            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16942            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16943            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16944            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16945            0 :                     {
   16946            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16947            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   16948            0 :                       if (res) return res;
   16949              :                     }
   16950              :                   }
   16951              :                 break;
   16952            0 :               case CFN_COND_LEN_RDIV:
   16953            0 :                 if (call_expr_nargs (_q40) == 6)
   16954              :     {
   16955            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16956            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16957            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16958            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16959            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16960            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16961            0 :                     {
   16962            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16963            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   16964            0 :                       if (res) return res;
   16965              :                     }
   16966              :                   }
   16967              :                 break;
   16968            0 :               case CFN_COND_LEN_COPYSIGN:
   16969            0 :                 if (call_expr_nargs (_q40) == 6)
   16970              :     {
   16971            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   16972            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   16973            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   16974            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   16975            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   16976            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   16977            0 :                     {
   16978            0 :                       tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55 };
   16979            0 :                       tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   16980            0 :                       if (res) return res;
   16981              :                     }
   16982              :                   }
   16983              :                 break;
   16984              :               default:;
   16985              :               }
   16986              :             break;
   16987              :           default:;
   16988              :           }
   16989              :         break;
   16990              :       }
   16991           12 :     case CALL_EXPR:
   16992           12 :       switch (get_call_combined_fn (_p2))
   16993              :         {
   16994            0 :         case CFN_COND_LEN_ADD:
   16995            0 :           if (call_expr_nargs (_p2) == 6)
   16996              :     {
   16997            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   16998            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   16999            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17000            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17001            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17002            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17003            0 :               {
   17004            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17005            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_ADD);
   17006            0 :                 if (res) return res;
   17007              :               }
   17008              :             }
   17009              :           break;
   17010            0 :         case CFN_COND_LEN_AND:
   17011            0 :           if (call_expr_nargs (_p2) == 6)
   17012              :     {
   17013            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17014            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17015            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17016            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17017            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17018            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17019            0 :               {
   17020            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17021            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_AND);
   17022            0 :                 if (res) return res;
   17023              :               }
   17024              :             }
   17025              :           break;
   17026            0 :         case CFN_COND_LEN_DIV:
   17027            0 :           if (call_expr_nargs (_p2) == 6)
   17028              :     {
   17029            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17030            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17031            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17032            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17033            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17034            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17035            0 :               {
   17036            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17037            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_DIV);
   17038            0 :                 if (res) return res;
   17039              :               }
   17040              :             }
   17041              :           break;
   17042            0 :         case CFN_COND_LEN_IOR:
   17043            0 :           if (call_expr_nargs (_p2) == 6)
   17044              :     {
   17045            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17046            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17047            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17048            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17049            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17050            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17051            0 :               {
   17052            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17053            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_IOR);
   17054            0 :                 if (res) return res;
   17055              :               }
   17056              :             }
   17057              :           break;
   17058            0 :         case CFN_COND_LEN_MAX:
   17059            0 :           if (call_expr_nargs (_p2) == 6)
   17060              :     {
   17061            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17062            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17063            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17064            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17065            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17066            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17067            0 :               {
   17068            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17069            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MAX);
   17070            0 :                 if (res) return res;
   17071              :               }
   17072              :             }
   17073              :           break;
   17074            0 :         case CFN_COND_LEN_MIN:
   17075            0 :           if (call_expr_nargs (_p2) == 6)
   17076              :     {
   17077            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17078            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17079            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17080            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17081            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17082            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17083            0 :               {
   17084            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17085            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MIN);
   17086            0 :                 if (res) return res;
   17087              :               }
   17088              :             }
   17089              :           break;
   17090            0 :         case CFN_COND_LEN_MOD:
   17091            0 :           if (call_expr_nargs (_p2) == 6)
   17092              :     {
   17093            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17094            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17095            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17096            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17097            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17098            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17099            0 :               {
   17100            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17101            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MOD);
   17102            0 :                 if (res) return res;
   17103              :               }
   17104              :             }
   17105              :           break;
   17106            0 :         case CFN_COND_LEN_MUL:
   17107            0 :           if (call_expr_nargs (_p2) == 6)
   17108              :     {
   17109            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17110            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17111            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17112            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17113            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17114            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17115            0 :               {
   17116            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17117            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_MUL);
   17118            0 :                 if (res) return res;
   17119              :               }
   17120              :             }
   17121              :           break;
   17122            0 :         case CFN_COND_LEN_SHL:
   17123            0 :           if (call_expr_nargs (_p2) == 6)
   17124              :     {
   17125            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17126            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17127            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17128            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17129            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17130            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17131            0 :               {
   17132            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17133            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHL);
   17134            0 :                 if (res) return res;
   17135              :               }
   17136              :             }
   17137              :           break;
   17138            0 :         case CFN_COND_LEN_SHR:
   17139            0 :           if (call_expr_nargs (_p2) == 6)
   17140              :     {
   17141            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17142            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17143            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17144            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17145            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17146            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17147            0 :               {
   17148            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17149            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SHR);
   17150            0 :                 if (res) return res;
   17151              :               }
   17152              :             }
   17153              :           break;
   17154            0 :         case CFN_COND_LEN_SUB:
   17155            0 :           if (call_expr_nargs (_p2) == 6)
   17156              :     {
   17157            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17158            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17159            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17160            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17161            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17162            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17163            0 :               {
   17164            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17165            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_SUB);
   17166            0 :                 if (res) return res;
   17167              :               }
   17168              :             }
   17169              :           break;
   17170            0 :         case CFN_COND_LEN_XOR:
   17171            0 :           if (call_expr_nargs (_p2) == 6)
   17172              :     {
   17173            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17174            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17175            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17176            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17177            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17178            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17179            0 :               {
   17180            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17181            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_XOR);
   17182            0 :                 if (res) return res;
   17183              :               }
   17184              :             }
   17185              :           break;
   17186            0 :         case CFN_COND_LEN_FMAX:
   17187            0 :           if (call_expr_nargs (_p2) == 6)
   17188              :     {
   17189            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17190            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17191            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17192            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17193            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17194            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17195            0 :               {
   17196            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17197            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMAX);
   17198            0 :                 if (res) return res;
   17199              :               }
   17200              :             }
   17201              :           break;
   17202            0 :         case CFN_COND_LEN_FMIN:
   17203            0 :           if (call_expr_nargs (_p2) == 6)
   17204              :     {
   17205            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17206            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17207            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17208            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17209            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17210            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17211            0 :               {
   17212            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17213            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMIN);
   17214            0 :                 if (res) return res;
   17215              :               }
   17216              :             }
   17217              :           break;
   17218            0 :         case CFN_COND_LEN_RDIV:
   17219            0 :           if (call_expr_nargs (_p2) == 6)
   17220              :     {
   17221            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17222            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17223            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17224            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17225            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17226            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17227            0 :               {
   17228            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17229            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_RDIV);
   17230            0 :                 if (res) return res;
   17231              :               }
   17232              :             }
   17233              :           break;
   17234            0 :         case CFN_COND_LEN_COPYSIGN:
   17235            0 :           if (call_expr_nargs (_p2) == 6)
   17236              :     {
   17237            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17238            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17239            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17240            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17241            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17242            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17243            0 :               {
   17244            0 :                 tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45 };
   17245            0 :                 tree res = generic_simplify_560 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_COPYSIGN);
   17246            0 :                 if (res) return res;
   17247              :               }
   17248              :             }
   17249              :           break;
   17250              :         default:;
   17251              :         }
   17252              :       break;
   17253       454613 :     default:;
   17254              :     }
   17255       454613 :   switch (TREE_CODE (_p1))
   17256              :     {
   17257            0 :     case VIEW_CONVERT_EXPR:
   17258            0 :       {
   17259            0 :         tree _q30 = TREE_OPERAND (_p1, 0);
   17260            0 :         switch (TREE_CODE (_q30))
   17261              :           {
   17262            0 :           case CALL_EXPR:
   17263            0 :             switch (get_call_combined_fn (_q30))
   17264              :               {
   17265            0 :               case CFN_COND_LEN_FMA:
   17266            0 :                 if (call_expr_nargs (_q30) == 7)
   17267              :     {
   17268            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17269            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17270            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17271            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17272            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17273            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17274            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17275            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17276              :                       {
   17277            0 :                         {
   17278            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17279            0 :                           tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17280            0 :                           if (res) return res;
   17281              :                         }
   17282              :                       }
   17283              :                   }
   17284              :                 break;
   17285            0 :               case CFN_COND_LEN_FMS:
   17286            0 :                 if (call_expr_nargs (_q30) == 7)
   17287              :     {
   17288            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17289            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17290            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17291            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17292            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17293            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17294            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17295            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17296              :                       {
   17297            0 :                         {
   17298            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17299            0 :                           tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17300            0 :                           if (res) return res;
   17301              :                         }
   17302              :                       }
   17303              :                   }
   17304              :                 break;
   17305            0 :               case CFN_COND_LEN_FNMA:
   17306            0 :                 if (call_expr_nargs (_q30) == 7)
   17307              :     {
   17308            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17309            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17310            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17311            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17312            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17313            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17314            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17315            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17316              :                       {
   17317            0 :                         {
   17318            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17319            0 :                           tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17320            0 :                           if (res) return res;
   17321              :                         }
   17322              :                       }
   17323              :                   }
   17324              :                 break;
   17325            0 :               case CFN_COND_LEN_FNMS:
   17326            0 :                 if (call_expr_nargs (_q30) == 7)
   17327              :     {
   17328            0 :                     tree _q40 = CALL_EXPR_ARG (_q30, 0);
   17329            0 :                     tree _q41 = CALL_EXPR_ARG (_q30, 1);
   17330            0 :                     tree _q42 = CALL_EXPR_ARG (_q30, 2);
   17331            0 :                     tree _q43 = CALL_EXPR_ARG (_q30, 3);
   17332            0 :                     tree _q44 = CALL_EXPR_ARG (_q30, 4);
   17333            0 :                     tree _q45 = CALL_EXPR_ARG (_q30, 5);
   17334            0 :                     tree _q46 = CALL_EXPR_ARG (_q30, 6);
   17335            0 :                     if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
   17336              :                       {
   17337            0 :                         {
   17338            0 :                           tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _q45, _q46, _p2 };
   17339            0 :                           tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17340            0 :                           if (res) return res;
   17341              :                         }
   17342              :                       }
   17343              :                   }
   17344              :                 break;
   17345              :               default:;
   17346              :               }
   17347              :             break;
   17348              :           default:;
   17349              :           }
   17350              :         break;
   17351              :       }
   17352           12 :     case CALL_EXPR:
   17353           12 :       switch (get_call_combined_fn (_p1))
   17354              :         {
   17355            0 :         case CFN_COND_LEN_FMA:
   17356            0 :           if (call_expr_nargs (_p1) == 7)
   17357              :     {
   17358            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17359            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17360            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17361            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17362            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17363            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17364            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17365            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17366              :                 {
   17367            0 :                   {
   17368            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17369            0 :                     tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17370            0 :                     if (res) return res;
   17371              :                   }
   17372              :                 }
   17373              :             }
   17374              :           break;
   17375            0 :         case CFN_COND_LEN_FMS:
   17376            0 :           if (call_expr_nargs (_p1) == 7)
   17377              :     {
   17378            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17379            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17380            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17381            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17382            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17383            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17384            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17385            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17386              :                 {
   17387            0 :                   {
   17388            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17389            0 :                     tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17390            0 :                     if (res) return res;
   17391              :                   }
   17392              :                 }
   17393              :             }
   17394              :           break;
   17395            0 :         case CFN_COND_LEN_FNMA:
   17396            0 :           if (call_expr_nargs (_p1) == 7)
   17397              :     {
   17398            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17399            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17400            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17401            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17402            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17403            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17404            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17405            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17406              :                 {
   17407            0 :                   {
   17408            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17409            0 :                     tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17410            0 :                     if (res) return res;
   17411              :                   }
   17412              :                 }
   17413              :             }
   17414              :           break;
   17415            0 :         case CFN_COND_LEN_FNMS:
   17416            0 :           if (call_expr_nargs (_p1) == 7)
   17417              :     {
   17418            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17419            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17420            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17421            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17422            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17423            0 :               tree _q35 = CALL_EXPR_ARG (_p1, 5);
   17424            0 :               tree _q36 = CALL_EXPR_ARG (_p1, 6);
   17425            0 :               if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
   17426              :                 {
   17427            0 :                   {
   17428            0 :                     tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _q35, _q36, _p2 };
   17429            0 :                     tree res = generic_simplify_561 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17430            0 :                     if (res) return res;
   17431              :                   }
   17432              :                 }
   17433              :             }
   17434              :           break;
   17435              :         default:;
   17436              :         }
   17437              :       break;
   17438       454613 :     default:;
   17439              :     }
   17440       454613 :   switch (TREE_CODE (_p2))
   17441              :     {
   17442            0 :     case VIEW_CONVERT_EXPR:
   17443            0 :       {
   17444            0 :         tree _q40 = TREE_OPERAND (_p2, 0);
   17445            0 :         switch (TREE_CODE (_q40))
   17446              :           {
   17447            0 :           case CALL_EXPR:
   17448            0 :             switch (get_call_combined_fn (_q40))
   17449              :               {
   17450            0 :               case CFN_COND_LEN_FMA:
   17451            0 :                 if (call_expr_nargs (_q40) == 7)
   17452              :     {
   17453            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17454            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17455            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17456            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17457            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17458            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17459            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17460            0 :                     {
   17461            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17462            0 :                       tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17463            0 :                       if (res) return res;
   17464              :                     }
   17465              :                   }
   17466              :                 break;
   17467            0 :               case CFN_COND_LEN_FMS:
   17468            0 :                 if (call_expr_nargs (_q40) == 7)
   17469              :     {
   17470            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17471            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17472            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17473            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17474            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17475            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17476            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17477            0 :                     {
   17478            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17479            0 :                       tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17480            0 :                       if (res) return res;
   17481              :                     }
   17482              :                   }
   17483              :                 break;
   17484            0 :               case CFN_COND_LEN_FNMA:
   17485            0 :                 if (call_expr_nargs (_q40) == 7)
   17486              :     {
   17487            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17488            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17489            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17490            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17491            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17492            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17493            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17494            0 :                     {
   17495            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17496            0 :                       tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17497            0 :                       if (res) return res;
   17498              :                     }
   17499              :                   }
   17500              :                 break;
   17501            0 :               case CFN_COND_LEN_FNMS:
   17502            0 :                 if (call_expr_nargs (_q40) == 7)
   17503              :     {
   17504            0 :                     tree _q50 = CALL_EXPR_ARG (_q40, 0);
   17505            0 :                     tree _q51 = CALL_EXPR_ARG (_q40, 1);
   17506            0 :                     tree _q52 = CALL_EXPR_ARG (_q40, 2);
   17507            0 :                     tree _q53 = CALL_EXPR_ARG (_q40, 3);
   17508            0 :                     tree _q54 = CALL_EXPR_ARG (_q40, 4);
   17509            0 :                     tree _q55 = CALL_EXPR_ARG (_q40, 5);
   17510            0 :                     tree _q56 = CALL_EXPR_ARG (_q40, 6);
   17511            0 :                     {
   17512            0 :                       tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54, _q55, _q56 };
   17513            0 :                       tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17514            0 :                       if (res) return res;
   17515              :                     }
   17516              :                   }
   17517              :                 break;
   17518              :               default:;
   17519              :               }
   17520              :             break;
   17521              :           default:;
   17522              :           }
   17523              :         break;
   17524              :       }
   17525           12 :     case CALL_EXPR:
   17526           12 :       switch (get_call_combined_fn (_p2))
   17527              :         {
   17528            0 :         case CFN_COND_LEN_FMA:
   17529            0 :           if (call_expr_nargs (_p2) == 7)
   17530              :     {
   17531            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17532            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17533            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17534            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17535            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17536            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17537            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17538            0 :               {
   17539            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17540            0 :                 tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMA);
   17541            0 :                 if (res) return res;
   17542              :               }
   17543              :             }
   17544              :           break;
   17545            0 :         case CFN_COND_LEN_FMS:
   17546            0 :           if (call_expr_nargs (_p2) == 7)
   17547              :     {
   17548            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17549            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17550            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17551            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17552            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17553            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17554            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17555            0 :               {
   17556            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17557            0 :                 tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FMS);
   17558            0 :                 if (res) return res;
   17559              :               }
   17560              :             }
   17561              :           break;
   17562            0 :         case CFN_COND_LEN_FNMA:
   17563            0 :           if (call_expr_nargs (_p2) == 7)
   17564              :     {
   17565            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17566            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17567            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17568            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17569            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17570            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17571            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17572            0 :               {
   17573            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17574            0 :                 tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMA);
   17575            0 :                 if (res) return res;
   17576              :               }
   17577              :             }
   17578              :           break;
   17579            0 :         case CFN_COND_LEN_FNMS:
   17580            0 :           if (call_expr_nargs (_p2) == 7)
   17581              :     {
   17582            0 :               tree _q40 = CALL_EXPR_ARG (_p2, 0);
   17583            0 :               tree _q41 = CALL_EXPR_ARG (_p2, 1);
   17584            0 :               tree _q42 = CALL_EXPR_ARG (_p2, 2);
   17585            0 :               tree _q43 = CALL_EXPR_ARG (_p2, 3);
   17586            0 :               tree _q44 = CALL_EXPR_ARG (_p2, 4);
   17587            0 :               tree _q45 = CALL_EXPR_ARG (_p2, 5);
   17588            0 :               tree _q46 = CALL_EXPR_ARG (_p2, 6);
   17589            0 :               {
   17590            0 :                 tree captures[9] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44, _q45, _q46 };
   17591            0 :                 tree res = generic_simplify_562 (loc, type, _p0, _p1, _p2, captures, CFN_COND_LEN_FNMS);
   17592            0 :                 if (res) return res;
   17593              :               }
   17594              :             }
   17595              :           break;
   17596              :         default:;
   17597              :         }
   17598              :       break;
   17599       454613 :     default:;
   17600              :     }
   17601       454613 :   switch (TREE_CODE (_p1))
   17602              :     {
   17603           12 :     case CALL_EXPR:
   17604           12 :       switch (get_call_combined_fn (_p1))
   17605              :         {
   17606            0 :         case CFN_COND_ADD:
   17607            0 :           if (call_expr_nargs (_p1) == 4)
   17608              :     {
   17609            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17610            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17611            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17612            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17613            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17614              :                 {
   17615            0 :                   {
   17616            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17617            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_ADD);
   17618            0 :                     if (res) return res;
   17619              :                   }
   17620              :                 }
   17621              :             }
   17622              :           break;
   17623            0 :         case CFN_COND_AND:
   17624            0 :           if (call_expr_nargs (_p1) == 4)
   17625              :     {
   17626            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17627            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17628            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17629            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17630            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17631              :                 {
   17632            0 :                   {
   17633            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17634            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_AND);
   17635            0 :                     if (res) return res;
   17636              :                   }
   17637              :                 }
   17638              :             }
   17639              :           break;
   17640            0 :         case CFN_COND_DIV:
   17641            0 :           if (call_expr_nargs (_p1) == 4)
   17642              :     {
   17643            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17644            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17645            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17646            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17647            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17648              :                 {
   17649            0 :                   {
   17650            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17651            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_DIV);
   17652            0 :                     if (res) return res;
   17653              :                   }
   17654              :                 }
   17655              :             }
   17656              :           break;
   17657            0 :         case CFN_COND_FMA:
   17658            0 :           if (call_expr_nargs (_p1) == 5)
   17659              :     {
   17660            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17661            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17662            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17663            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17664            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17665            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17666              :                 {
   17667            0 :                   {
   17668            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17669            0 :                     tree res = generic_simplify_564 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMA);
   17670            0 :                     if (res) return res;
   17671              :                   }
   17672              :                 }
   17673              :             }
   17674              :           break;
   17675            0 :         case CFN_COND_FMS:
   17676            0 :           if (call_expr_nargs (_p1) == 5)
   17677              :     {
   17678            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17679            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17680            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17681            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17682            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17683            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17684              :                 {
   17685            0 :                   {
   17686            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17687            0 :                     tree res = generic_simplify_564 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMS);
   17688            0 :                     if (res) return res;
   17689              :                   }
   17690              :                 }
   17691              :             }
   17692              :           break;
   17693            0 :         case CFN_COND_IOR:
   17694            0 :           if (call_expr_nargs (_p1) == 4)
   17695              :     {
   17696            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17697            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17698            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17699            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17700            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17701              :                 {
   17702            0 :                   {
   17703            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17704            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_IOR);
   17705            0 :                     if (res) return res;
   17706              :                   }
   17707              :                 }
   17708              :             }
   17709              :           break;
   17710            0 :         case CFN_COND_MAX:
   17711            0 :           if (call_expr_nargs (_p1) == 4)
   17712              :     {
   17713            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17714            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17715            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17716            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17717            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17718              :                 {
   17719            0 :                   {
   17720            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17721            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MAX);
   17722            0 :                     if (res) return res;
   17723              :                   }
   17724              :                 }
   17725              :             }
   17726              :           break;
   17727            0 :         case CFN_COND_MIN:
   17728            0 :           if (call_expr_nargs (_p1) == 4)
   17729              :     {
   17730            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17731            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17732            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17733            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17734            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17735              :                 {
   17736            0 :                   {
   17737            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17738            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MIN);
   17739            0 :                     if (res) return res;
   17740              :                   }
   17741              :                 }
   17742              :             }
   17743              :           break;
   17744            0 :         case CFN_COND_MOD:
   17745            0 :           if (call_expr_nargs (_p1) == 4)
   17746              :     {
   17747            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17748            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17749            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17750            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17751            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17752              :                 {
   17753            0 :                   {
   17754            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17755            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MOD);
   17756            0 :                     if (res) return res;
   17757              :                   }
   17758              :                 }
   17759              :             }
   17760              :           break;
   17761            0 :         case CFN_COND_MUL:
   17762            0 :           if (call_expr_nargs (_p1) == 4)
   17763              :     {
   17764            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17765            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17766            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17767            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17768            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17769              :                 {
   17770            0 :                   {
   17771            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17772            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_MUL);
   17773            0 :                     if (res) return res;
   17774              :                   }
   17775              :                 }
   17776              :             }
   17777              :           break;
   17778            0 :         case CFN_COND_SHL:
   17779            0 :           if (call_expr_nargs (_p1) == 4)
   17780              :     {
   17781            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17782            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17783            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17784            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17785            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17786              :                 {
   17787            0 :                   {
   17788            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17789            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHL);
   17790            0 :                     if (res) return res;
   17791              :                   }
   17792              :                 }
   17793              :             }
   17794              :           break;
   17795            0 :         case CFN_COND_SHR:
   17796            0 :           if (call_expr_nargs (_p1) == 4)
   17797              :     {
   17798            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17799            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17800            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17801            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17802            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17803              :                 {
   17804            0 :                   {
   17805            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17806            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SHR);
   17807            0 :                     if (res) return res;
   17808              :                   }
   17809              :                 }
   17810              :             }
   17811              :           break;
   17812            0 :         case CFN_COND_SUB:
   17813            0 :           if (call_expr_nargs (_p1) == 4)
   17814              :     {
   17815            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17816            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17817            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17818            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17819            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17820              :                 {
   17821            0 :                   {
   17822            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17823            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_SUB);
   17824            0 :                     if (res) return res;
   17825              :                   }
   17826              :                 }
   17827              :             }
   17828              :           break;
   17829            0 :         case CFN_COND_XOR:
   17830            0 :           if (call_expr_nargs (_p1) == 4)
   17831              :     {
   17832            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17833            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17834            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17835            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17836            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17837              :                 {
   17838            0 :                   {
   17839            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17840            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_XOR);
   17841            0 :                     if (res) return res;
   17842              :                   }
   17843              :                 }
   17844              :             }
   17845              :           break;
   17846            0 :         case CFN_COND_COPYSIGN:
   17847            0 :           if (call_expr_nargs (_p1) == 4)
   17848              :     {
   17849            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17850            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17851            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17852            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17853            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17854              :                 {
   17855            0 :                   {
   17856            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17857            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_COPYSIGN);
   17858            0 :                     if (res) return res;
   17859              :                   }
   17860              :                 }
   17861              :             }
   17862              :           break;
   17863            0 :         case CFN_COND_FMAX:
   17864            0 :           if (call_expr_nargs (_p1) == 4)
   17865              :     {
   17866            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17867            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17868            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17869            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17870            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17871              :                 {
   17872            0 :                   {
   17873            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17874            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMAX);
   17875            0 :                     if (res) return res;
   17876              :                   }
   17877              :                 }
   17878              :             }
   17879              :           break;
   17880            0 :         case CFN_COND_FMIN:
   17881            0 :           if (call_expr_nargs (_p1) == 4)
   17882              :     {
   17883            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17884            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17885            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17886            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17887            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17888              :                 {
   17889            0 :                   {
   17890            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17891            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FMIN);
   17892            0 :                     if (res) return res;
   17893              :                   }
   17894              :                 }
   17895              :             }
   17896              :           break;
   17897            0 :         case CFN_COND_FNMA:
   17898            0 :           if (call_expr_nargs (_p1) == 5)
   17899              :     {
   17900            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17901            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17902            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17903            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17904            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17905            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17906              :                 {
   17907            0 :                   {
   17908            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17909            0 :                     tree res = generic_simplify_564 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMA);
   17910            0 :                     if (res) return res;
   17911              :                   }
   17912              :                 }
   17913              :             }
   17914              :           break;
   17915            0 :         case CFN_COND_FNMS:
   17916            0 :           if (call_expr_nargs (_p1) == 5)
   17917              :     {
   17918            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17919            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17920            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17921            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17922            0 :               tree _q34 = CALL_EXPR_ARG (_p1, 4);
   17923            0 :               if ((_p2 == _q34 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q34, 0) && types_match (_p2, _q34)))
   17924              :                 {
   17925            0 :                   {
   17926            0 :                     tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33, _q34 };
   17927            0 :                     tree res = generic_simplify_564 (loc, type, _p0, _p1, _p2, captures, CFN_COND_FNMS);
   17928            0 :                     if (res) return res;
   17929              :                   }
   17930              :                 }
   17931              :             }
   17932              :           break;
   17933            0 :         case CFN_COND_RDIV:
   17934            0 :           if (call_expr_nargs (_p1) == 4)
   17935              :     {
   17936            0 :               tree _q30 = CALL_EXPR_ARG (_p1, 0);
   17937            0 :               tree _q31 = CALL_EXPR_ARG (_p1, 1);
   17938            0 :               tree _q32 = CALL_EXPR_ARG (_p1, 2);
   17939            0 :               tree _q33 = CALL_EXPR_ARG (_p1, 3);
   17940            0 :               if ((_p2 == _q33 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q33, 0) && types_match (_p2, _q33)))
   17941              :                 {
   17942            0 :                   {
   17943            0 :                     tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _q33 };
   17944            0 :                     tree res = generic_simplify_563 (loc, type, _p0, _p1, _p2, captures, CFN_COND_RDIV);
   17945            0 :                     if (res) return res;
   17946              :                   }
   17947              :                 }
   17948              :             }
   17949              :           break;
   17950              :         default:;
   17951              :         }
   17952              :       break;
   17953              :     default:;
   17954              :     }
   17955              :   return NULL_TREE;
   17956              : }
   17957              : #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.